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

时间:2015-07-21 20:27:51

标签: node.js macos npm mean-stack mean.io

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

请在此处查看答案:https://stackoverflow.com/a/31546496/2859315

原始帖子:

目前,我已经安装了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,但我不确定如何进一步调试。

非常感谢任何见解或有用的信息!谢谢!

2 个答案:

答案 0 :(得分:1)

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

请在此处查看答案:https://stackoverflow.com/a/31546496/2859315

答案 1 :(得分:-1)

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

Sudo chown -r $ USER / usr / local