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 version
和node -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="<ath-to-your-global-node-modules>/<angular cli path till ng>"
(来自 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】:根据npm
,angular-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 创建新项目时找不到命令的主要内容,如果未能解决你的问题,请参考以下文章
如何在基于 angular-cli 的混合应用程序中使用 ng-annotate
如何使用 angular-cli 和 ng-bootstrap 自定义 Bootstrap 4 SCSS 变量?
是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?