ng:使用angular-cli创建新项目时找不到命令


112

使用(npm install -g angular-cli)全局安装了angular-cli,但是当我尝试使用ng new my-project它创建项目时,抛出错误:

ng:找不到命令


键入ng --help会发生什么?这也已发布在angular cli仓库中。检查此链接
VirendraJ

即使当我键入ng --help时,也找不到相同的问题ng:命令,但在问题日志中建议使用nvm,但我想使用npm。我试图通过在.profile中添加别名来纠正路径,但是已经存在代理设置,因此如何使用alias = alias ng =“ Users / xxxx / npm / lib / node_modules / angular-cli / bin / ng”
lego

你可以发表你的操作系统版本,以及您的NPM版本
PD法哈德

使用Mac OS,npm版本-2.14.20和节点版本-4.4.0
lego

3
您能通过以下方式验证它的安装吗?npm ls --global --depth 0
Brocco

Answers:


154

问题很简单,npm不知道ng

只需运行npm link @angular/cli,它就可以无缝运行。


4
你能解释一下吗?
Pardeep Jain

4
@PardeepJain:link命令基本上会创建一个全局链接,然后将全局安装目标链接到项目的node_modules文件夹中。
abhinavroy23

2
不好意思。 alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) 这成功了。
saran3h

2
这工作了。只是不得不与sudosudo npm link @angular/cli
Craig

2
我可以确认此解决方案有效。我正在使用Windows,可以确认此解决方案确实对我有用。但是我还必须做些其他事情:在powershell中运行此命令:“ Set-ExecutionPolicy Unrestricted”。这使您可以运行.ps1(powershell)文件。
lucamuh

47

首先,angular-cli已弃用,并已替换为@angular/cli。因此,如果您使用卸载了现有的angular-cli npm uninstall angular-cli,然后使用新名称@ angular / cli重新安装该软件包,则可能会遇到一些冲突。我在Windows 7上的故事是:

我已经安装了angular-cli并使用npm install -g @angular/cli进行了重新安装,但是在对命令行工具进行了一些配置更改后,我开始遇到未找到ng命令的问题。我花了几个小时尝试解决此问题,但以上所有问题均无法解决。我可以使用以下步骤修复它:

安装Rapid Environment Editor,并删除节点,npm,angular-cli或@ angular / cli的所有PATH条目。Node.js将位于您的系统路径中,npm和角度条目位于用户路径中。

卸载node.js并重新安装当前版本(对我来说是6.11.1)。再次运行Rapid Environment Editor,并确保node.js和npm位于系统或用户路径中。使用以下命令卸载任何现有的ng版本:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

删除C:\ Users \%YOU%\ AppData \ Roaming \ npm \ node_modules \ @angular文件夹。

重新启动,然后最后运行:

npm install -g @angular/cli

然后屏住呼吸运行:

ng -v

如果幸运的话,您会得到一些爱。每次您执行ng命令时,请屏住呼吸,因为ng运行良好后,“找不到命令”已经神奇地复现了几次,我认为问题已解决。


3
sudo npm install -g @ angular / cli
Mohammad Suhel Shaikh '18

抱歉,这不起作用。我尝试了上面的所有命令,并使用sudo发出了它们。我在Mac OS上。
像素

我遵循这种格式,并且在没有Rapid Environment Editor的情况下对我来说效果很好。在Windows 10中,我手动更新了环境变量中的路径。由于我的上一个项目是dotnet core,所以我有一段时间没有运行Node或Angular了。因此,我必须重新安装npm和node的最新版本,然后重置我的路径并重新启动,然后再执行angular / cli卸载步骤。
维克

21

确保npm目录位于“ Path ”变量中。

如果模块安装正确,则从全局节点模块目录中启动它可能会起作用,但是ng当您不在该目录中时,命令行工具不知道在哪里可以找到命令。

对于Win系统变量,请添加以下内容:

%USERPROFILE%\AppData\Roaming\npm

而且,如果您使用类unix的终端(仿真器):

PATH=$PATH:[path_to_your_user_profile]/path-to-npm

2
如果您使用不同版本的CLI处理多个项目(因此不能始终运行单个全局版本),请尝试export PATH=$PATH:node_modules/@angular/cli/bin/ng-只要ng在Angular的根目录中运行命令,它将选择本地版本。(子)项目。
Janaka Bandara

@JanakaBandara我将如何在Win10中添加该导出命令?可以在.bash_profile中添加它吗?
Diego Ortiz

1
是的,我通常将其添加到.bashrc
Janaka Bandara

17

这就是我让它对我有用的方式:)。

1- npm link @angular/cli

它将返回cli的路径,看起来像这样

/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli

对于这一部分,/11.3.0_1请将其替换为您各自的节点版本,可以通过键入以下内容来找到node --version

2- cd ~/

3- open .bash_profile

在bash个人资料中,为cli创建一个别名,如下所示:

alias ng="/usr/local/Cellar/node/11.3.0_1/lib/node_modules/@angular/cli/bin/ng"

4- source ~/.bash_profile

这是.bash_profile您添加别名后的样子。

在此处输入图片说明

现在ng,在终端中输入将显示附件快照中显示的输出。

在此处输入图片说明

我希望这个答案会有所帮助。


1
npm link @angular/cli对我来说就足够了。谢谢。
Kunal Dethe

很高兴为您提供帮助:)
Divyanshu Rawat

16

最简单的解决方案是(如果已经安装了angular):

1删除ng别名(如果存在)

unalias ng

2添加正确的别名

alias ng="/Users/<user_name>/.npm-global/bin/ng"

例如,运行3个服务即可。


Mac上没有.npm-global目录
像素

@pixel确保在Mac上存在npm-global,请参考此处以获取更多详细信息flaviocopes.com/npm-packages-local-global
Achref Gassoumi

1
@AchrefGassoumi谢谢,但是在谷歌搜索了几个小时之后,没有任何位置提示别名到某个位置将不起作用。对我来说,解决这个唯一的办法就是做用NVM正如我在回答解释这个问题stackoverflow.com/questions/58138138/...
像素

14

对于Mac运行

npm install -g @angular/cli@latest

然后跑

alias ng="/usr/local/lib/node_modules/node/lib/node_modules/@angular/cli/bin/ng"

检查是否正常

ng version

我必须使用以下别名命令:-alias ng =“ / usr / local / lib / node_modules / @ angular / cli / bin / ng”
cammando

11

运行以下命令:

npm uninstall -g angular-cli

npm uninstall -g @angular/cli

npm cache clean

npm install -g @angular/cli@latest

alias ng="C:/Users/itaas/.npm-global/ng" (ng文件在npm文件夹中的位置)

最后运行:

ng -v 

g


我认为使用angular 7时,它已更改为$ ng版本
raikumardipak

尽管这解决了一个问题,却创造了另一个问题。这将始终意味着您是从全局而不是从应用程序级别运行NG。
Itanex

不,这不是在这里,我们在重新定义ng关键字。没有像应用程序级别那样的东西。它只是当前用户的配置文件
Gajender Singh,

9

就我而言,安装角度cli

npm install -g @angular/cli@latest

将Nodejs更新到最新,然后一切都可以正常工作。

...如果仍然存在问题,可能是因为您在Shell中而不是在cmd中运行命令(您需要在cmd中运行命令),请检查一下,也许有帮助...


8

我已经通过添加别名解决了相同的问题:

alias ng="path-to-your-global-node-modules/angular-cli/bin/ng"

这对我来说很好用,但是每次登录时我都必须这样做,因此我以这种方式将其添加到.bashrc文件中:“ nano〜/ .bashrc”,然后在其中添加以下行:alias ng =“ / usr / local / lib / node_modules / @ angular / cli / bin / ng“我正在流浪汉上运行ubuntu 14.04
Sabeeh Chaudhry


5

对于Mac用户:

1)全局安装@ angular / cli

$ sudo npm install -g @angular/cli
/usr/local/Cellar/node/10.0.0/bin/ng -> /usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng

2)为ng创建别名

alias ng="/usr/local/Cellar/node/10.0.0/lib/node_modules/@angular/cli/bin/ng"

完成了


5

如果您已全局安装角度cli但ng无法正常工作,请执行以下操作:

echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc

source ~/.bashrc

ng --version

C:\> echo -e“导出PATH = $(npm前缀-g)/ bin:$ PATH” >>〜/ .bashrc系统找不到指定的路径。
GregJF

该命令仅适用于Unix / Linux用户。如果您使用的是Windows,则应以管理员模式安装Angular CLI。
faye.babacar78

4

试试这个 :

别名ng =“〜/ node_modules / @ angular / cli / bin / ng”


3

确保 在尝试创建项目之前,已安装angular-cli。Windows用户可以在不授予命令许可的情况下安装angular-cli,但是MAC用户必须在执行命令之前使用sudo,如下所示:

sudo npm install -g angular-cli

在询问时输入密码,然后按Enter键继续。


3

在运行Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9时出现相同的问题。
通过npm安装Angular CLI后:

找不到'ng'命令

请执行下列操作:

  1. 用卸载npm npm uninstall -g npm
  2. 通过控制面板/程序和功能卸载的NodeJS
  3. https://nodejs.org/download/release/v6.5.0/下载并运行了``旧的'' NodeJS安装程序版本6.5.0node-v6.5.0-x64.msi)。
  4. NodeJS 6.5.0安装完成后,打开powershell并 npm install -g angular-cli
  5. 拿起速溶咖啡
  6. 安装完成后,ng工作正常。

高温超导


3

首先,
使用命令npm versionnode -v

如果正确,请执行以下操作:

  1. 查找NPM的全局根目录npm root -g(它将为您提供全局npm存储的根目录)

  2. 使用npm uninstall -g angular-cli 和卸载旧的clinpm cache clean

  3. 重新安装新版本的angular npm install -g @angular/cli@latest

  4. 命名别名ng:

alias ng="C:/ProgramData/npm/node_modules/@angular/cli/bin/ng"

alias ng="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(摘自16年10月20日15:30 @ m.zemlyanoi)

然后要检查您可以键入ng -v



2

如果您在安装angular-cli时发现此错误,请 -bash: ng: command not found尝试使用此方法,

从系统中删除Node之后

install NVM from here https://github.com/creationix/nvm
Install Node via NVM: nvm install stable
run npm install -g angular-cli

2

根据npmangular-cli已经将其重命名为@angular/cli您可以使用以下语法进行安装。

npm install -g @angular/cli

1

仅适用于Windows操作系统的解决方案....第一步:

安装nodejs版本:nodev 8.1.2

第二步:设置环境变量,例如:C:\ ProgramFiles \ nodejs

第三步:安装angular使用此命令:npm install -g @ angular / cli

安装后,无论您要创建任何项目,例如:ng new first-project ......


1

对于我(在MacOSX上),我必须做:

nvm install stable
npm install -g angular-cli

这会将ng安装到:

/usr/local/lib/node_modules/@angular/cli/bin/ng

但是npm没有将ng链接到

/usr/local/bin/

这就是为什么它不属于%PATH的原因,因此可以通过命令行(除非通过绝对地址)使用。

因此,我使用以下创建ng的链接:

sudo ln -sf /usr/local/lib/node_modules/\@angular/cli/bin/ng /usr/local/bin/ng

1

跑步

export PATH=$PATH:/c/Users/myusername/AppData/Roaming/npm 

帮助了。

确保您的实际用户名在myusername部分中


有人递给这个人一块奖章。作品就像魅力。
Pramesh Bajracharya

0

如果您在Windows 7中工作,并且无法运行以ng开头的命令

请立即更新angular / CLI并尝试使用ng命令

使用以下命令来更新最新的CLI

npm install -g @angular/cli@latest

0

这可以更新您的angular / cli // * Global软件包(cmd为管理员)

npm uninstall -g @angular/cli
npm cache verify
npm install -g @angular/cli@latest

0

首先使用npm作为全局模块安装'@ angular / cli'

sudo npm install -g @angular/cli

之后尝试从终​​端窗口使用``ng''命令对cli进行ping操作。

找不到命令“ ng”

然后,您需要手动设置

ng

命令可用性。您可以通过运行以下命令来设置此步骤。

ln -s path-to-your-ng-command /bin

例如:

须藤ln -s / opt / node / lib / node_modules / @ angular / cli / bin / ng / bin /


0

就我而言,这是在我重新开始处理相邻选项卡时发生的。这是未设置的npm。请使用以下命令检查npm的版本

npm -v

或者如果您正在使用nvm

nvm列表

要么

nvm当前

我将其设置为8.9.1,然后再次开始工作。希望对您有所帮助。


0

这对我有用:

  1. 转到C:\ Users {{users}} \ AppData \ Roaming并删除npm文件夹
  2. 卸载节点并重新安装
  3. 运行命令以安装angular cli

    npm install -g @angular/cli
    

0

就我而言,我只是运行了错误的节点版本。

我之前刚刚安装了一个新的节点版本,可以与Angular(2)一起使用。在工作中,我们使用6.x,所以这是我在nvm中的默认设置。重新启动后,笔记本电脑ng由于我再次运行节点6.x而停止工作。所以对我来说,这只是使用安装Angular CLI所使用的版本的问题:

nvm use node // with the node alias pointing to the right version

要么

nvm use v8.11.3 // if you happen to know the version

使用以下命令检查已安装的版本和别名

nvm list 

0

如果您有一台MacOS计算机(我的计算机是MOJAVE 10.14.2),只需将这些行添加到〜/ .bash_profile文件的末尾

export ANGULAR=~/.nvm/versions/node/v10.8.0/bin/ng
export PATH=$ANGULAR:$PATH

请注意,v10.8.0是我安装的Node.js的版本。要获取哪个版本,请运行以下命令:

node --version

完成后,通过终端/ bash重新加载它:

cd ~
source .bash_profile

完成这些步骤后,您应该能够运行ng二进制文件。


0

在Windows上修复NodeJS安装为我解决了该问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.