【问题标题】:npm sudo permisions for yeoman generator-webappyeoman generator-webapp 的 npm sudo 权限
【发布时间】:2013-12-25 15:24:15
【问题描述】:

我已阅读此主题npm / yeoman install generator-angular without sudo 并使用此处描述的第一种方式解决权限问题 https://gist.github.com/isaacs/579814

echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install # ok, fine, this step probably takes more than 30 seconds...
curl https://npmjs.org/install.sh | sh

所以现在它适用于某些生成器,但它不适用于 generator-webapp 我仍然收到该生成器的权限错误,可能是因为我之前使用 sudo 安装了它。 我该如何克服这个问题,也许有人可以在答案上描述我对上述命令做了什么。

【问题讨论】:

    标签: yeoman


    【解决方案1】:

    您链接的要点非常古老,它希望您使用自定义前缀编译节点。在 npm 包含在节点中之后,我相信该要点的最​​后一个建议是最好的选择(并且可能是唯一的)。这也是SO question你链接中推荐的那个。

    总结一下,

    • 撤消到目前为止的所有内容。
    • 安装节点,最好使用包管理器而不是源代码
    • 使用echo prefix = ${HOME}/.node >> ${HOME}/.npmrc 设置本地 npm 目录
    • prefix 下的bin 文件夹添加到您的路径,就像您在.bashrc 中所做的一样

    【讨论】:

    • 本地目录是什么意思?
    • @pet 我的意思是指定prefix中的bin目录。在我的示例中,它将是${HOME}/.node/bin。在您的帖子中,您使用了~/local/bin