【问题标题】:Angular CLI ng command not found on Mac Os在 Mac Os 上找不到 Angular CLI ng 命令
【发布时间】:2020-01-27 23:48:32
【问题描述】:

我查看了此处有关此问题的大量帖子并尝试了它们,但没有成功解决此问题。

我在 MacOS 上,这是我到目前为止根据我在这里找到的建议所做的,但我仍然收到此错误

 ~~ sudo npm uninstall -g angular-cli

 ~~ sudo npm uninstall -g @angular/cli

 ~~ sudo npm cache clean --force

 ~~ sudo npm install -g @angular/cli

这个输出:

/usr/local/Cellar/node/11.10.0/bin/ng -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli/bin/ng

> @angular/cli@8.3.6 postinstall /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli
> node ./bin/postinstall/script.js

+ @angular/cli@8.3.6
added 245 packages from 185 contributors in 8.784s

但是,发出以下命令不起作用:

 ~~ ng version

-bash: ng: command not found

有些人建议链接,所以我也尝试了:

 ~~ sudo npm link @angular/cli

,输出如下:

/Users/dinob/node_modules/@angular/cli -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli

,但是ng版本还是不行:

 ~~ ng version

-bash: ng: command not found

许多帖子建议应该在我的 /Users/dinob 目录下创建一个目录.npm-global,但我没有看到它。我只看到.npm 目录,而不是.npm-global

我也尝试了以下方法:

如上所述卸载 Angular

酿造更新

brew upgrade node // 从 11.10.0 升级到 12.10.0

然后重复上述步骤安装 angular/cli

还是同样的问题,没有找到ng命令

这不是 KenWhite 建议的重复问题,我已经查看了所有关于这个问题的帖子,我可以找到(以及更多),尝试了它们,但没有一个为我解决了这个问题。

sudo npm install -g @angular/cli 命令完成并返回以下路径,但其中没有@angular 目录:

/usr/local/Cellar/node/11.10.0/bin/ng -> /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli/bin/ng 

上面没有bin文件夹:

dinob @ /usr/local/Cellar/node/11.10.0 
 ~~ ls -la

total 80
drwxr-xr-x  8 dinob  staff    256  2 Oct 11:30 ./
drwxr-xr-x  5 dinob  staff    160 27 Sep 09:29 ../
-rw-r--r--@ 1 dinob  staff   8196  2 Oct 11:32 .DS_Store
-rw-r--r--  1 dinob  staff  26696 14 Feb  2019 README.md
drwxr-xr-x  3 dinob  staff     96 14 Feb  2019 etc/
drwxr-xr-x  3 dinob  staff     96 14 Feb  2019 include/
drwxr-xr-x  5 dinob  staff    160  2 Oct 11:22 lib/
drwxr-xr-x  5 dinob  staff    160 14 Feb  2019 share/

这个位置> @angular/cli@8.3.6 postinstall /usr/local/Cellar/node/11.10.0/lib/node_modules/@angular/cli

dinob @ /usr/local/Cellar/node/11.10.0/lib/node_modules 
 ~~ ls -la

total 16
drwxr-xr-x   6 dinob  staff   192  2 Oct 11:22 ./
drwxr-xr-x   5 dinob  staff   160  2 Oct 11:22 ../
-rw-r--r--@  1 dinob  staff  6148  2 Oct 11:27 .DS_Store
drwxr-xr-x   7 root   staff   224 26 Sep 16:42 n/
drwxr-xr-x  26 dinob  staff   832  2 Oct 11:28 npm/
drwxr-xr-x   6 dinob  staff   192 15 Jul 16:32 react-native-cli/

【问题讨论】:

  • When trying to install angular, ng command is not found 和其他几个的可能重复项,通过在此站点搜索确切的错误消息 bash: ng: command not found 很容易找到。
  • @KenWhite 正如解释的那样,我已经搜索并查看了这些帖子,它不是重复的

标签: macos angular-cli


【解决方案1】:

经过几天的谷歌搜索,在这里和@Angular github都没有得到任何帮助,这几乎没用,终于能够解决问题并按照以下步骤解决我的 angular ng command not found 问题:

1.安装 nvm

发出这 3 个命令来安装 nvm。 (Angular 记录的步骤 https://angular.io/guide/setup-local 设置您的环境对我不起作用)。

所以我像这样安装了 nvm:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

export NVM_DIR="/Users/your-user-name/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

在此之后,请确保您重新启动终端,您应该能够发出 nvm --version 以查看已安装 nvm 的版本。

2。使用 nvm 安装节点

nvm install stable

nvm install node

3.最后,安装angular

npm install -g @angular/cli

4.重启终端

重启终端,你应该可以使用ng version查看系统上安装的版本

 ~~ ng version


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


Angular CLI: 8.3.6
Node: 12.11.1
OS: darwin x64
Angular: 
... 

Package                      Version
------------------------------------------------------
@angular-devkit/architect    0.803.6
@angular-devkit/core         8.3.6
@angular-devkit/schematics   8.3.6
@schematics/angular          8.3.6
@schematics/update           0.803.6
rxjs                         6.4.0

我现在可以创建并启动我的项目

ng new my-test-project

ng serve my-test project

我认为 SO 应该开始认真对待人们拒绝投票或将其标记为重复的问题,然后再阅读它们,甚至尝试了解所问的内容和问题所在。

似乎很多人阅读标题并仅以此决定问题的命运,任何分歧最终都会完全阻止问题。

在一个本应有所帮助的网站上存在如此多的偏见和仇恨。

非常需要更好的替代品。

更新

如果您像我一样改用 zsh shell 而不是 bash shell(因为 Catalina MacOs 现在使用 zsh),您可能已经注意到 ng version 已停止为您工作。

在这种情况下,通过在 vim 中打开 .zshrc 文件来修改它:

vi ~/.zshrc

在那里,找到这一行:

source $ZSH/oh-my-zsh.sh

在此行下方,添加以下行:

source /Users/Your-User-Name/.bash_profile

按 Esc 键并输入 :wq 并按 Enter 保存文件

重启你的终端

重新发布ng version,您应该会在您的 zsh shell 中看到它:

【讨论】:

  • 我同意 100%。您永远不知道有人会如何表达搜索,也不知道结果将如何出现。我很高兴你回答得这么好。
  • 按照终端中的说明“自动解决”了一个问题:nvm is not compatible with the npm config "prefix" option: currently set to "/Users/solde/.npm-packages" Run `npm config delete prefix` or `nvm use --delete-prefix v13.3.0` to unset it.
  • +1 表示更新。这正是我将 Mac 终端更改为 zsh 后的情况。这正是我所需要的,而且似乎一切都已解决。谢谢!
  • 这在升级我的 MacBook Pro 上的存储并运行 Big Sur 后帮助了我。不过,我不会批评 GitHub,因为那个存储库和论坛对我来说是一天很多次的......
  • @pixel 你应该得到一枚奖牌。
【解决方案2】:

如果以上所有方法都不起作用,请使用 Homebrew 安装 angular-cli

在您的终端 (ZSH) 中运行它:

brew install angular-cli

喝杯咖啡,回来并运行它来测试。

ng --version

宾果游戏。

【讨论】:

  • 对我来说是brew install angular-cli
  • 它成功了,我使用上面的命令创建了一个别名,删除该别名然后试一试,它应该可以正常工作
【解决方案3】:

最好的解决办法是

alias ng="/Users/YourName/.npm-global/bin/ng"

【讨论】:

  • 为我工作,谢谢。顺便说一句,这是做什么的?我们是否试图给可执行文件起一个别名“ng”,以便每当我们使用“ng”时,它都会转到实用程序并完成这项工作?
  • 是的,我们用这个 sn-p 做到这一点
【解决方案4】:

可能无法创建“ng”的环境变量。我们可以使用以下步骤手动创建它:

通过打开您的 bash 配置文件检查是否存在“ng”别名

触摸 ~/.bash_profile;打开 ~/.bash_profile

如果没有找到“ng”的别名,在bash文件中添加如下别名并保存

别名 ng=/usr/local/Cellar/node/13.5.0/lib/node_modules/@angular/cli/bin/ng

注意:@angular/cli 为我安装在以下路径下 /usr/local/Cellar/node/13.5.0/lib/node_modules/@angular/cli。所以我在别名中添加了 angular cli 下存在的 ng。

现在,使用检查 ng 版本

ng --version

这对我有用。

【讨论】:

  • 我在 Stack Overflow 上见过的最被低估的答案。
【解决方案5】:

我遇到了同样的问题,但解决方案是添加到我的$PATH。 在带有 zsh 的 MacOS Mojave 上,@Angular/CLI 没有被添加到 $PATH。您只需附加到/private/etc/paths 即可将其添加到您的路径中:

  1. sudo vim /private/etc/paths
  2. 附加/Users/my_user_name/node_modules/@angular/cli/bin 或安装@Angular/CLI 的任何位置。
  3. 保存 (:wq) 并重新启动 shell。

ng version 然后工作。

【讨论】:

    【解决方案6】:

    我的终端显示 zsh: command not found: ng ,在 visconde 终端中找不到命令 ng 而不是 Mac 终端,我看到在 bashrc 中有一行与 ng 命令的导出,所以我复制了导出在 bash 中并将其粘贴到 ~/.zshrc 中,现在它可以工作了!

    【讨论】:

      【解决方案7】:

      这对我有用,可以修复这个错误

      ~ ng --version
      zsh: command not found: ng
      

      修复:

      export PATH="$HOME/.npm-global/bin:$PATH"
      

      【讨论】:

        【解决方案8】:

        作为 IT 专业人员,我们以不同的方式设置我们的开发环境,所以当我们遇到问题时,几乎没有一刀切的方法。就我而言,我无法真正确定导致此错误的原因是什么,但这个网站 https://techbriel.com/how-to-fix-ng-command-not-found/ 帮助我解决了它。

        它突出了不同的场景,但在我的例子中是添加

        将 PATH="$HOME/.npm-packages/bin:$PATH" 导出到我的 -bashrc 或者可能是 ~/.zshrc

        How to add environment variable on a mac

        你也可以在这里查看一些答案ng: command not found while creating new project using angular-cli

        【讨论】:

        • 您发布了两个答案,它们都链接到同一个站点。您是否隶属于相关网站?请查看How not to be a spammer.
        猜你喜欢
        • 2019-11-07
        • 2018-06-16
        • 1970-01-01
        • 1970-01-01
        • 2017-04-05
        • 1970-01-01
        • 1970-01-01
        • 2014-06-30
        • 2018-03-19
        相关资源
        最近更新 更多