Angular CLI v6.0.8无法安装

时间:2018-07-07 16:52:29

标签: node.js angular ubuntu angular-cli

我已经在Ubuntu 18.04上通过PPA安装了NodeJS。但是,在运行sudo npm install -g @angular/cli时,我在这篇文章的底部看到了错误。

我正在使用节点v10.6.0和npm v6.1.0。我尝试了这些命令,但是没有运气:

A) sudo npm install -g @angular/cli@latest
B) npm install -g @angular/cli (no sudo)
C) sudo npm install -g angular-cli --unsafe-perm=true

我注意到的一件事是,万一C实际安装并以sudo运行时可以工作。但是它不能作为普通用户使用(“ bash:ng:找不到命令”)。

我检查了我的PATH环境变量,并确认npm bin -g(/ usb / bin)的结果确实在所有用户的PATH中。

任何帮助将不胜感激。

me@laptop:~$ sudo npm install -g @angular/cli
[sudo] password for me:
/usr/bin/ng -> /usr/lib/node_modules/@angular/cli/bin/ng

> @angular/cli@6.0.8 postinstall /usr/lib/node_modules/@angular/cli
> node ./bin/ng-update-message.js

internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module '/usr/lib/node_modules/@angular/cli/bin/ng-update-message.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:236:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:560:3)

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @angular/cli@6.0.8 postinstall: `node ./bin/ng-update-message.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @angular/cli@6.0.8 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

1 个答案:

答案 0 :(得分:0)

发现它!经过大量挖掘之后,我意识到这是一个权限问题。在PAM模块(Ubuntu)中设置了系统范围的 umask ,以创建具有比平常更多的限制权限的文件和文件夹。这是我恢复到正常状态并安装Angular CLI的方法:

sudo vi /etc/pam.d/common-session

然后更改此行:session optional pam_umask.so umask=077

对此:session optional pam_umask.so

重新启动,然后:sudo npm install -g @angular/cli

EtVoilà!