【问题标题】:Can't install angular-cli on Mac无法在 Mac 上安装 angular-cli
【发布时间】:2018-06-23 15:04:40
【问题描述】:

这可能很简单,但是当我尝试(不成功)安装 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

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

【问题讨论】:

  • Please try running this command again as root/Administrator. 你试过使用sudo吗?
  • @VSG24 没有必要,也没有建设性。已标记。
  • @SterlingArcher 使用 sudo 运行给了我 "Warning "root" does not have permission to access the dev dir" 导致 me to this 无法解决问题...
  • Angular CLI GitHub page 是有关如何安装 CLI 的最佳资源。您使用的链接指示您安装不再受支持的 CLI 版本;好几个月没有了。

标签: node.js macos npm angular-cli


【解决方案1】:

我尝试了这里提到的所有解决方案,但没有一个对我有用。在搜索了几个小时的解决方案后,我终于找到了一个简单的解决方案

  1. 通过 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 安装 brew
  2. brew install angular-cli
  3. ng 版本

这就是你在你的 mac 上成功安装 angular-cli 的全部内容!!!

【讨论】:

    【解决方案2】:

    安装 Angular CLI 的步骤。

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

    请记住,-g 代表全局范围,因此软件包安装在根级文件夹中。因此命令应该以“sudo”开头

    【讨论】:

      【解决方案3】:

      对于我的mac环境

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

      运行这个可以解决问题,然后运行 ​​npm 命令

      【讨论】:

        【解决方案4】:

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

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

        sudo npm install -g @angular/cli
        

        【讨论】:

          【解决方案5】:

          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.

          您的进程想要更改您的目录并且不允许访问 你可以很容易地成为超级用户(管理员),有访问权限被抛出命令,以便处理器可以修改 node_modules 角度。

          sudo npm install -g @angular/cli

          【讨论】:

            【解决方案6】:

            这些是我使用的代码

            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
            

            【讨论】:

              【解决方案7】:

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

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

              【讨论】:

                【解决方案8】:

                这对我有用。

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

                【讨论】:

                  【解决方案9】:

                  我在 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)

                  【讨论】:

                  • 谢谢,这很有用
                  【解决方案10】:

                  要消除访问错误,这些步骤会有所帮助:

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

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

                  第二步: 酿造安装节点

                  Check version: node -v, npm -v
                  

                  第三步: brew install -g angular-cli

                  Check version: ng --version
                  

                  第四步: 新的第一个应用程序

                  【讨论】:

                    【解决方案11】:

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

                    【讨论】:

                      【解决方案12】:

                      试试这个:

                      sudo npm install -g @angular/cli 
                      

                      【讨论】:

                      • 最简单的解决方案!
                      【解决方案13】:

                      经过几次尝试,我终于通过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安装node:

                      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 启动。

                      【讨论】:

                      • 这行得通。在使用此方法之前,在python库部分安装失败。
                      • Menelaos Kotsollaris - 很好的答案。谢谢
                      • 只是好奇...为什么只能通过nvm 安装? :(
                      • 一个非常小的更正:在 Angular CLI:7.2.3 中使用“ng 版本”。现在只需“ng -v”即可生成可用命令列表(包括版本:)
                      • 谁能解释为什么使用 nvm 在使用 sudo npm install -g @angular/cli 并且链接不起作用时起作用?
                      【解决方案14】:

                      我以前遇到过一个与这个非常相似的问题。 很可能您以 root 等身份安装了 Node 和 NPM。

                      您应该尝试在没有sudo 的情况下重新安装 Node 和 NPM,以下脚本之一可能适合您:https://gist.github.com/isaacs/579814

                      然后重试npm i -g angular-cli,希望不会出现问题。

                      祝你好运!

                      【讨论】:

                      • 谢谢,但这对我不起作用;我最终安装了@angular/clinvm
                      猜你喜欢
                      • 2019-10-17
                      • 2017-07-08
                      • 2017-01-31
                      • 2018-08-06
                      • 2019-02-19
                      • 2019-06-22
                      • 2018-12-06
                      • 1970-01-01
                      • 2019-08-04
                      相关资源
                      最近更新 更多