无法 npm 在 Mac OS 上安装 'mean-cli' 模块 X

Cannot npm install 'mean-cli' module on Mac OS X

更新: 显然,使用 sudo 安装节点模块是不好的做法。相反,更改文件夹权限将解决此问题。

在这里查看答案:

原创 POST:

目前,我已经安装了Node(版本v0.12.7)和NPM。我正在尝试从 NPM 安装 mean-cli 包。

我正在按照此处的安装说明进行操作:https://github.com/linnovate/mean#installation

此外,我正在 Udemy 上学习 MEAN Stack 开发课程。这是讲座: https://www.udemy.com/mean-stack-for-beginners/#/lecture/2697540

到目前为止,我已经安装了两个必备包,Gulp 和 Bower:

$ npm install -g gulp
// and bower
$ npm install -g bower 

首先,我尝试使用 npm install -g mean-cli 安装,但在不使用 sudo 的情况下引发了权限错误。那么,即使使用sudo也不行。

其次,我尝试更新并重新安装节点和 NPM。仍然有同样的问题。

当我键入命令时 sudo npm install -g mean-cli,

我收到这样的回复:

> mean-cli@0.10.14 preinstall /usr/local/lib/node_modules/mean-cli
> node ./scripts/preinstall

shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied
node.js:720
    var cwd = process.cwd();
                  ^
Error: EACCES, permission denied
    at Error (native)
    at Function.startup.resolveArgv0 (node.js:720:23)
    at startup (node.js:63:13)
    at node.js:814:3
npm ERR! Darwin 14.4.0
npm ERR! argv "node" "/usr/local/bin/npm" "install" "-g" "mean-cli"
npm ERR! node v0.12.7
npm ERR! npm  v2.11.3
npm ERR! code ELIFECYCLE

npm ERR! mean-cli@0.10.14 preinstall: `node ./scripts/preinstall`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the mean-cli@0.10.14 preinstall script 'node ./scripts/preinstall'.
npm ERR! This is most likely a problem with the mean-cli package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./scripts/preinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls mean-cli
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /Library/WebServer/Documents/NodeJS/mean/npm-debug.log

问题似乎出在这里:Failed at the mean-cli@0.10.14 preinstall script 'node,但我不确定如何进一步调试它。

如有任何见解或有用的信息,我们将不胜感激!谢谢!

显然,使用 sudo 安装节点模块是不好的做法。相反,更改文件夹权限将解决此问题。

在这里查看答案:

要收回 /usr/local 的所有权,请使用以下命令

sudo chown –r $USER /usr/local