在Mac OS上找不到Angular CLI ng命令

时间:2019-09-27 16:12:02

标签: macos angular-cli

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

我使用的是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

我还尝试了以下操作:

如上所述卸载角钢

酿造更新

酿造升级节点// //从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/

6 个答案:

答案 0 :(得分:8)

如果上述所有方法均无效,请在Homebrew上安装angular-cli

在您的终端(ZSH)中运行此操作

brew install angular-cli

喝咖啡,回来然后运行以进行测试。

ng --version

宾果

答案 1 :(得分:4)

经过数天的搜索并且在这里和@Angular github上都没有用,这几乎是没有用的,终于能够解决此问题,并按照以下步骤解决了我的angular ng命令未解决的问题:

1。安装nvm

发出这3个命令以安装nvm。 (记录在文档中的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

enter image description here

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

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

应该帮助网站的偏见和仇恨太大。

非常需要更好的选择。

更新

如果您像我一样,并切换为使用zsh shel而不是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中看到它:

enter image description here

答案 2 :(得分:3)

最好的办法是

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

答案 3 :(得分:1)

@pixel谢谢!

存在相同的问题。我最近将终端切换到zsh,并且也在Visual Studio Code中这样做,但是从未完全关闭所有正在运行的窗口。好吧,我终于在昨晚退出了Visual Studio Code,今天ng serve命令无效。我注意到我的Visual Studio的外壳环境现在设置为zsh ...

2分钟后,按照您的步骤进行操作,我已恢复运行。

答案 4 :(得分:1)

可能不会创建“ 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。因此,我将在角度cli下出现的ng添加到别名中。

现在,使用来检查ng版本

ng --version

这对我有用。

答案 5 :(得分:0)

我遇到了同样的问题,但是解决方法是将其添加到我的$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然后起作用。