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

Posted

技术标签:

【中文标题】ng:使用 angular-cli 创建新项目时找不到命令【英文标题】:ng: command not found while creating new project using angular-cli 【发布时间】:2016-09-10 16:49:17 【问题描述】:

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

ng:找不到命令

【问题讨论】:

当你输入 ng --help 会发生什么?这也发布在 angular cli 存储库上。检查这个link 即使我输入 ng --help 相同的问题 ng: command not found,在问题日志中也有建议使用 nvm 但我想使用 npm。我试图通过在我的 .profile 中添加别名来更正路径,但代理设置已经存在,那么如何使用 alias = alias ng="Users/xxxx/npm/lib/node_modules/angular-cli/bin/ 添加新路径ng" 你能把你的 os 版本和你的 npm 版本贴出来 使用 Mac 操作系统,npm 版本 - 2.14.20 & node 版本 - 4.4.0 你能验证它是通过...安装的吗?npm ls --global --depth 0 【参考方案1】:

问题很简单,npm 不知道ng

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

【讨论】:

你能解释一下吗? @PardeepJain: link 命令基本上是创建一个全局链接,然后将全局安装目标链接到项目的 node_modules 文件夹中。 对不起,不起作用。 alias ng="PATH-TO-GLOBAL/.npm-global/bin/ng" ( Location of ng file in npm folder) 这成功了。 这行得通。只需要使用sudo 运行。 sudo npm link @angular/cli. 我可以确认此解决方案有效。我正在使用 Windows,并且可以确认此解决方案确实对我有用。但我必须另外做一些事情:在 powershell 中运行它:“Set-ExecutionPolicy Unrestricted”。这允许您运行 .ps1 (powershell) 文件。【参考方案2】:

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

我已经安装了 angular-cli 并使用 npm install -g @angular/cli 重新安装,但是在对命令行工具进行了一些配置更改后,我开始收到 ng command not found 问题。我花了几个小时试图解决这个问题,但上述问题都没有单独起作用。我能够使用以下步骤修复它:

安装 Rapid Environment Editor 并删除 node、npm、angular-cli 或 @angular/cli 的任何 PATH 条目。 Node.js 将在您的系统路径中,npm 和 angular 条目在用户路径中。

卸载 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 运行正常之后,“找不到命令”神奇地再次出现在我面前,我认为问题已经解决了。

【讨论】:

sudo npm install -g @angular/cli 抱歉,这不起作用。我尝试了上面的所有命令,并使用 sudo 发出它们。我在 Mac OS 上。 我遵循了这种格式,并且在没有快速环境编辑器的情况下它对我来说工作得很好。在 Windows 10 中,我手动更新了 Einvronment 变量中的路径。我有一段时间没有运行 Node 或 Angular,因为我的上一个项目是 dotnet core。所以我必须重新安装最新的 npm 和 node,然后在 angular/cli 卸载步骤之前重置我的路径并重新启动。【参考方案3】:

确保 npm 目录在您的“Path”变量中。

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

Win 系统变量添加如下内容:

%USERPROFILE%\AppData\Roaming\npm

如果您使用 类 unix 终端(模拟器):

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

【讨论】:

如果您使用不同版本的 CLI 处理多个项目(因此不能始终运行单个全局版本),请尝试 export PATH=$PATH:node_modules/@angular/cli/bin/ng - 它会选择本地版本,只要您在 Angular(子)项目的根目录中运行 ng 命令。 @JanakaBandara 如何在 Win10 中添加该导出命令?加在.bash_profile中可以吗? 是的,我通常将其添加到.bashrc 执行此操作后,请确保卸载并重新安装丢失时安装的所有软件包。他们的安装很可能因缺少大量依赖项而损坏。我重新安装了 node v14.17 和 npm,没想到 node 安装程序无法将 npm 添加到路径中。它毫无问题地添加了nodejs。如果您的路径中缺少 npm,您需要在将其添加到路径之前重新安装您安装的所有软件包。那是我对角度cli的问题。我将 angular cli 视为问题,但 npm 是真正的问题【参考方案4】:

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

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

unalias ng

2 添加正确的别名

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

3 run ng serve 例如,它会起作用。

【讨论】:

Mac 上没有 .npm-global 目录 @pixel 确定在 mac 上有一个 npm-global 请参考这里了解更多详情flaviocopes.com/npm-packages-local-global @AchrefGassoumi 谢谢,但在谷歌上搜索了几个小时后,没有任何位置建议别名到某个位置是行不通的。我解决这个问题的唯一方法是使用 nvm,正如我在回答这个问题 ***.com/questions/58138138/… 中所解释的那样【参考方案5】:

这就是我让它为我工作的方式:)。

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 将显示附加快照中显示的输出。

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

【讨论】:

npm link @angular/cli 对我来说就足够了。谢谢。 很高兴它帮助了你:)【参考方案6】:

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"【参考方案7】:

运行以下命令:

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 

【讨论】:

使用 angular 7 我猜这已经改为 $ng 版本 虽然这解决了一个问题,但它会产生另一个问题。这始终意味着您是从全局运行 NG,而不是从应用程序级别运行。 不,不是这样,我们在这里重新定义了 ng 关键字。没有像应用程序级别的东西。它只是当前用户的配置文件【参考方案8】:

在我的情况下安装 angular cli

npm install -g @angular/cli@latest

将 Nodejs 更新到最新版本,然后一切正常。

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

【讨论】:

【参考方案9】:

我通过添加别名解决了同样的问题:

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" 我在 vagrant 上运行 ubuntu 14.04 老兄,你拯救了我的一天 :-) 干杯【参考方案10】:

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

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

source ~/.bashrc

ng --version

【讨论】:

C:\>echo -e "export PATH=$(npm prefix -g)/bin:$PATH" >> ~/.bashrc 系统找不到指定的路径。 此命令仅适用于 Unix/Linux 用户。如果你在 Windows 上,Angular CLI 应该以管理员模式安装。【参考方案11】:

%AppData%\npm 添加到 Win 路径对我有用。

来源:https://github.com/angular/angular-cli/issues/1183,第一条评论。

【讨论】:

【参考方案12】:

首先,检查你的 npm 和 node 是否安装正确 使用命令npm versionnode -v

如果它们是正确的:

    找到NPM的根全局目录npm root -g(它会 给你你的全球 npm 商店的根)

    使用 npm uninstall -g angular-cli 卸载旧的 Angular cli 和npm cache clean

    重新安装新版本的angularnpm install -g @angular/cli@latest

    创建一个名为 ng 的别名:

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

alias ng="&lt;ath-to-your-global-node-modules&gt;/&lt;angular cli path till ng&gt;" (来自 2016 年 10 月 20 日 15:30 @m.zemlyanoi 回答)

然后检查你可以输入 ng -v

【讨论】:

【参考方案13】:

对于 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"

完成

【讨论】:

【参考方案14】:

试试这个:

别名 ng="~/node_modules/@angular/cli/bin/ng"

【讨论】:

【参考方案15】:

同样的问题在这里运行 Windows 10 x64 / NodeJS 6.9.1 / npm 3.10.9。 通过 npm 安装 Angular CLI 后:

找不到'ng'命令

执行以下操作:

    npm uninstall -g npm卸载npm 通过控制面板/程序和功能卸载 NodeJS 从https://nodejs.org/download/release/v6.5.0/(node-v6.5.0-x64.msi)下载并运行“旧”NodeJS 安装程序版本 6.5.0。 NodeJS 6.5.0安装完成后,打开powershell和npm install -g angular-cli 速溶咖啡 安装完成后,ng 工作正常。

HTH

【讨论】:

【参考方案16】:

我遇到了同样的问题,我使用的是 git bash 终端,我使用这个命令安装了 angular cli

npm install -g @angular/cli

但是当我尝试创建新应用程序时,它给了我错误 ng: command not found,我刚刚重新启动了我的电脑并且它工作了,即使再次关闭和打开终端有时也会解决问题

【讨论】:

【参考方案17】:

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

sudo npm install -g angular-cli

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

【讨论】:

【参考方案18】:

对于 mackBook 操作系统

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

尝试使用 ng -v 如果不起作用然后设置别名并尝试

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

【讨论】:

【参考方案19】:

你安装 node js 包吗? https://nodejs.org/en/ 问候

【讨论】:

【参考方案20】:

如果您在安装 angular-cli 时发现此错误, -bash: ng: command not found 试试这个可行,

从系统中删除节点后

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

【讨论】:

【参考方案21】:

根据npmangular-cli已重命名为@angular/cli,可以使用以下语法安装。

npm install -g @angular/cli

【讨论】:

【参考方案22】:

如果您使用asdf-vm,则需要运行adsf reshim nodejs 以重新创建与全局模块的链接。

就我而言,这解决了我的问题,我希望也能解决你的问题。

【讨论】:

这适用于asdf.. 另外请修正错字。【参考方案23】:

问题很可能是您使用的是 PowerShell 而不是命令行。如果您使用 Windows PowerShell 运行:

cmd

然后下一次尝试:

ng --version

如果可以运行:

ng new my-project

【讨论】:

【参考方案24】:

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

安装nodejs版本:nodev 8.1.2

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

第三步: 安装角度使用这个命令: npm install -g @angular/cli

安装后,无论您必须创建项目,如:ng new first-project......

【讨论】:

【参考方案25】:

对我来说(在 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

【讨论】:

【参考方案26】:

运行

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

帮助。

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

【讨论】:

有人递给这个人一枚奖章。工作就像一个魅力。【参考方案27】:

修复 Windows 上的 NodeJS 安装为我解决了这个问题。

【讨论】:

昨天我的问题通过 npm 更新解决了,但今天这解决了我今天的问题。我想知道明天会怎样。我不明白为什么这会一直“崩溃”【参考方案28】:

我来到这里是因为我在 Windows 上遇到了同样的问题。最让我困惑的是,自从 Angular 4 在这里和那里涉足以来,我已经安装了 Node。果然。那是我的问题。我需要升级节点。

安装最新版本对我来说效果很好,无需在新安装后执行上述任何步骤

【讨论】:

【参考方案29】:

最大时间,这是npm和angular cli之间的路径问题冲突。

对我有用的解决方案 ->

    %USERPROFILE%\AppData\Roaming 将其粘贴到文件资源管理器中并删除 npm 文件夹。 npm install -g @angular/cli@latest 运行此命令重新安装最新的 Angular cli。 npm link @angular/cli 现在这个命令可以解决你的路径问题了

字面意思就是三步就能解决你的问题,否则你需要通过搜索更新环境变量并打开编辑系统环境变量

Ariful Ahsan https://arifulahsan.com

【讨论】:

【参考方案30】:

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

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

使用下面的命令更新最新的 CLI

npm install -g @angular/cli@latest

【讨论】:

以上是关于ng:使用 angular-cli 创建新项目时找不到命令的主要内容,如果未能解决你的问题,请参考以下文章

运行“ng test”命令时找不到 JQuery

如何在基于 angular-cli 的混合应用程序中使用 ng-annotate

Angular-cli:使用 ng lint

如何使用 angular-cli 和 ng-bootstrap 自定义 Bootstrap 4 SCSS 变量?

是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?

没有测试和 ng 服务的 angular-cli 简单配置