无法在Mac上安装angular-cli

时间:2018-01-14 23:38:23

标签: node.js macos npm angular-cli

这可能是非常微不足道的,但是当我尝试安装angular-cli时,我正撞到墙上。

我正在关注官方angular-cli documentation here.

mkotsollariss-MacBook-Pro:~ mkotsollaris$ npm -v
5.6.0
mkotsollariss-MacBook-Pro:~ mkotsollaris$ node -v
v8.9.4

然后我运行npm install -g angular-cli,它给了我:

mkotsollariss-MacBook-Pro:~ mkotsollaris$ npm install -g angular-cli
npm WARN deprecated angular-cli@1.0.0-beta.28.3: angular-cli has been renamed to @angular/cli. Please update your dependencies.
npm WARN deprecated gulp-util@3.0.7: gulp-util is deprecated - replace it, following the guidelines at https://medium.com/gulpjs/gulp-util-ca3b1f9f9ac5
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN @angular/core@2.4.10 requires a peer of rxjs@^5.0.1 but none is installed. You must install peer dependencies yourself.
npm ERR! path /Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall rmdir
npm ERR! Error: EACCES: permission denied, rmdir '/Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular'
npm ERR!  { Error: EACCES: permission denied, rmdir '/Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular'
npm ERR!   stack: 'Error: EACCES: permission denied, rmdir \'/Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular\'',
npm ERR!   errno: -13,
npm ERR!   code: 'EACCES',
npm ERR!   syscall: 'rmdir',
npm ERR!   path: '/Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/mkotsollaris/.npm/_logs/2018-01-14T23_11_22_610Z-debug.log
mkotsollariss-MacBook-Pro:~ mkotsollaris$ ng
-bash: ng: command not found

我想我几乎尝试过网络上的所有内容,但仍无法使其发挥作用。

我的操作系统是MacOS High Sierra 10.13.2

知道我在这里缺少什么吗?

13 个答案:

答案 0 :(得分:21)

经过多次尝试,我终于通过nvm成功安装了angular-cli。详细说明:

安装nvm

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="/Users/mkotsollaris/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm --version
0.33.0

然后通过nvm安装节点:

nvm install stable
nvm install node

此后,安装angular-cli:

npm install -g @angular/cli
mkotsolarissMBP:myapp mkotsollaris$ ng -v

    _                      _                 ____ _     ___
   / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
  / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
 / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
/_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
               |___/

Angular CLI: 1.6.5
Node: 9.4.0
OS: darwin x64
Angular: 5.2.1
... animations, common, compiler, compiler-cli, core, forms
... http, language-service, platform-browser
... platform-browser-dynamic, router

@angular/cli: 1.6.5
@angular-devkit/build-optimizer: 0.0.41
@angular-devkit/core: 0.0.28
@angular-devkit/schematics: 0.0.51
@ngtools/json-schema: 1.1.0
@ngtools/webpack: 1.9.5
@schematics/angular: 0.1.16
typescript: 2.5.3
webpack: 3.10.0
mkotsolarissMBP:myapp mkotsollaris$ 

验证ng是否正常工作:

ng new my-project
cd my-project
ng serve

该应用将从localhost:4200开始。

enter image description here

答案 1 :(得分:8)

在Mac Mojave上安装angular-cli时,我遇到了类似的问题。

正确的安装步骤是:

  1. 使用软件包管理器安装npm。
  2. 以上步骤将/usr/local/lib/node_modules/的目录所有者设置为root。
  3. 执行以下命令,将所有者设置为您的用户:
    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

  4. npm install -g @angular/cli(避免使用sudo)

答案 2 :(得分:2)

尝试一下:

sudo npm install -g @angular/cli 

答案 3 :(得分:1)

要摆脱访问错误,这些步骤可以帮助您:

第一步:     自制安装[https://brew.sh/] :(在终端上)

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

第2步:     brew安装节点

Check version: node -v, npm -v

Step3:     brew install -g angular-cli

Check version: ng --version

Step4:     ng新的First-App

答案 4 :(得分:1)

这些是我使用的代码

sudo npm uninstall -g angular-cli
sudo npm uninstall -g @angular/cli
sudo npm cache clean --force
npm install -g @angular/cli
alias ng="~/node_modules/@angular/cli/bin/ng"

支票

ng --version

答案 5 :(得分:0)

我之前遇到的问题非常类似于此问题。 您最有可能安装了Node& NPM作为root等。

您应该尝试重新安装Node&没有sudo的NPM,其中一个脚本可能适合您:https://gist.github.com/isaacs/579814

然后重试npm i -g angular-cli,希望不会有任何问题。

祝你好运!

答案 6 :(得分:0)

安装角度cli的步骤。

  1. 下载并安装Nodejs。 https://nodejs.org/en/
  2. 打开终端并输入: sudo npm install -g @ angular / cli

请记住,-g表示全局作用域,因此程序包将安装在根目录文件夹中。因此,该命令应以“ sudo

开头

答案 7 :(得分:0)

来回后我用自制的。赶紧跑: “ sudo brew安装angular-cli” 如果您安装了自制软件,它可以解决我所有的问题,包括在angular 7上的node-sass问题。

答案 8 :(得分:0)

这对我有用。

 sudo npm install --unsafe-perm -g @angular/cli 

答案 9 :(得分:0)

这似乎是您的节点/ npm的问题,而不是Angular CLI的问题。

请查看固定的npm权限页面,常见错误页面,npm问题跟踪器,或者如果未知您遇到的问题,请打开一个新问题。

答案 10 :(得分:0)

Error: EACCES: permission denied, rmdir '/Users/mkotsollaris/.npm-packages/lib/node_modules/.staging/@angular' you do not have permissions to access the directories node_modules.

您的进程要更改目录,因此不允许访问 您可以轻松地以超级用户(admin)身份获得具有访问权限的命令,以便进程可以修改node_modules的角度。

sudo npm install -g @angular/cli

答案 11 :(得分:0)

在我的Mac环境中

sudo chown -R $ USER / usr / local / lib / node_modules

运行此命令即可解决问题,只需运行npm命令

答案 12 :(得分:0)

请参阅有关如何解决此问题的文档:Resolving EACCES permissions errors when installing packages globally

也就是说,当我运行它时它对我有用:

BH_Equipment