【问题标题】:Angular - ng: command not foundAngular - ng:找不到命令
【发布时间】:2018-03-19 07:30:20
【问题描述】:

我正在尝试学习 Angular,而我在终端方面的知识是初学者。在我安装 Angular 然后输入ng new my-project。我收到了回复ng: command not found。我看过其他有这个问题的帖子,我已经卸载并重新安装了 npmng

我采取的最后一步是 npm install -g @angular/cli@latest 然后 ng new my-project。

然后我得到ng: command not found

【问题讨论】:

  • npm 版本?节点?你使用什么操作系统?所有这些都与这个问题有关。请更新您的问题
  • 顺便说一句:如果您使用不同版本的 CLI 处理多个项目(因此不能始终运行单个全局版本),请尝试 export PATH=$PATH:node_modules/@angular/cli/bin/ng - 它会选择本地版本(相对于当前目录),只要您从 Angular(子)项目的根目录中运行 ng 命令。

标签: node.js angular command-line


【解决方案1】:

面向 Windows:

如果您正在寻找“更新节点/角度”并且我擦除了我的 AppData 文件夹,现在世界讨厌我的错误流”,那么这可能会有所帮助。

清除 Node/npm/@angular/cli 的环境变量设置(它们没有帮助)

https://nodejs.org/en/ 安装 Node.JS/npm(记住安装位置)

确认 npm [当前] 运行的位置:

npm config get prefix

意识到这不是你刚刚安装新/新节点的地方。

更新 npm 全局指针(不是环境变量)

npm config set prefix "C:\Program Files\nodejs"

重新安装 Angular

npm install -g @angular/cli@latest

检查角度安装

ng --version

希望这对某人有所帮助。抱歉,您必须重新安装任何其他有趣的软件包。

【讨论】:

    【解决方案2】:

    我猜每个人都在几年前就想到了这一点,但我除外。当我更新节点时,简单的 ng 停止工作。我尝试了此线程中的所有先前建议均无济于事,但这是我的解决方案。命令 npm ng 有效,但该死的我只想 ng 工作。所以 我用这个内容创建了一个名为 ng.bat 的 bat 文件

    npm ng %*

    要么将 ng.bat 放在 path 可识别的目录中,要么在 This Computer / Properties / Advanced System Settings / Environment Variables/ System Variables / Path 中添加新路径。例如,我将 C:\Shortcuts 添加到路径。

    编辑上面的答案不是真正的解决方案。 npm 需要的是找到位于 npm bin 目录中的 npm-cli.js。如果路径未设置为 bin 则不起作用。我只是复制了 npm-cli.js 并将其放在设置了路径的 npm 目录中。

    【讨论】:

      【解决方案3】:

      我在 Windows 中遇到了同样的问题。我可以通过使用 npm 运行 ng 命令来解决它

      ng g c test
      
      Error : C:\Users\user\AppData\Roaming\npm/node_modules/node/bin/node: line 1: This: command not found
      

      解决方案:

      $ npm run ng g c test
      

      其他解决方案适用于我使用 Windows PowerShell 或命令提示符而不是 bash shell

      【讨论】:

        【解决方案4】:

        alias ng="C:/Users//AppData/Roaming/npm/node_modules/@angular/cli/bin/ng".. 这确实有效..

        快乐编码:)

        【讨论】:

        • 请不要说谢谢(通过复制不同的答案,例如 Petar Gutov 的答案,即使您将其稍微更改为不逐个字符相同)。在 StackOverflow 上表示感谢是通过投票 - 一旦你有特权。
        【解决方案5】:

        我遇到了同样的问题。 我的解决方案在那边 (for windows 10 x64 pro): 第一步:Create a new windows user account.[1] 第 2 步:Download nodejs [2] 第三步:Unblock nodejs setup file [3] 第 4 步:Install nodejs using setup file 第 5 步:使用此代码安装 Angular:npm install -g @angular/cli [4] 第六步:Restart computer

        [1]: https://support.microsoft.com/en-us/windows/create-a-local-user-or-administrator-account-in-windows-10-20de74e0-ac7f-3502-a866-32915af2a34d
        [2]: https://nodejs.org/en/download/
        [3]: https://thirtysix.zendesk.com/hc/en-us/articles/202921675-How-to-Unblock-a-File-Downloaded-from-an-Email-or-the-Internet
        [4]: https://angular.io/guide/setup-local#install-the-angular-cli
        

        【讨论】:

          【解决方案6】:

          它可能对 OP 没有帮助,但它解决了我的问题。这个答案是为了帮助其他没有尝试过OP问题中提到的命令的人。

          只需使用npm install -g @angular/cli@latest。它对我有用。

          【讨论】:

            【解决方案7】:

            适用于 MacOS

            有时ng 命令不会作为/usr/local/bin 中的链接建立。我通过手动添加解决了这个问题:

            ln -s /usr/local/Cellar/node/10.10.0/lib/node_modules/angular-cli/bin/ng /usr/local/bin/ng

            【讨论】:

            • 谢谢。您的解决方案有效。我的 ng 路径是 /usr/local/Cellar/node/11.6.0/lib/node_modules/@angular/cli/bin/ng
            • 也为我工作。我使用 Node 12 和 Angular 11 的 ng 路径原来是:/usr/local/Cellar/node/12.12.0/lib/node_modules/@angular/cli/bin/ng
            【解决方案8】:

            仅限 Windows 10

            如果您正在使用 Git Bash 并且您确定您已完成上面列出的所有步骤,但仍然收到这样的错误,请运行以下命令:

            alias ng="C:/Users/<your-username>/AppData/Roaming/npm/node_modules/@angular/cli/bin/ng"
            

            然后运行ng -v

            最后,如果你看到 Angular-CLI 的版本,它就可以工作

            【讨论】:

            • 但每次我启动我的 vs 代码时,我都必须这样做才能运行 ng 命令。请帮忙。
            【解决方案9】:

            如果NodeJs 安装不正确或根本没有安装,可能会出现该错误。 解决这个问题的正确方法是以正确的方式安装/重新安装(检查他们的official website),但如果您正在寻找快速解决方案,您可以尝试全局安装 Angular CLI:

            npm install -g @angular/cli
            

            如果它不起作用并且您很着急,请使用sudo

            sudo npm install -g @angular/cli
            

            不要忘记重新打开终端窗口。

            【讨论】:

            • 不起作用。即使使用 sudo 安装,仍然找不到 ng 命令。 $PATH 根本没有更新。
            • 如果你需要为 npm 使用 sudo,你的 npm 安装不正确。
            • @Bon,你完全正确!使用sudo 安装只是一个快速修复
            • 我所要做的就是卸载现有的 nodejs 并从 nodejs 网站重新安装它。我电脑上的那个来自公司认可的软件。
            【解决方案10】:

            *仅限 Windows*

            线索是将路径变量中的条目排列在右边。

            作为NPM wiki tells us

            因为安装程序将 C:\Program Files (x86)\nodejs 放在 C:\Users\AppData\Roaming\npm 之前,它会始终使用与 node 一起安装的 npm 版本,而不是你使用 npm -g install npm@ 安装的 npm。

            所以你的路径变量看起来像:

            C:\&lt;path-to-node-installation&gt;;%appdata%\npm;

            现在你有可能:

            1. 交换两个条目,使其看起来像
            …;%appdata%\npm;C:\<path-to-node-installation>;…
            

            这将加载使用 npm(而不是 node)安装的 npm 版本以及安装的 Agnular CLI 版本。

            1. 如果您(无论出于何种原因)喜欢使用与 node 捆绑的 npm 版本,请将直接路径添加到您的全局 Angualr CLI 版本。在此之后,您的路径变量应如下所示:
            …;C:\Users\<username>\AppData\Roaming\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;…
            

                …;%appdata%\npm\node_modules\@angular\cli;C:\<path-to-node-installation>;%appdata%\npm;…  
            

            简写形式。

            这对我来说已经有一段时间了。

            【讨论】:

              【解决方案11】:

              猜你在 Windows 上运行 (让@jowey's answer 更直接)。

              • 从您的 bash $ npm install -g @angular/cli@latest 正常安装 Angular 接下来是将 PATHS 重新排列为
              • NPM
              • Nodejs
              • Angular CLI

              在系统环境变量中,下图为排列方式。

              【讨论】:

              • 谢谢,我只需要添加:C:\Users\"MY-USERNAME-HERE"\AppData\Roaming\npm
              • @Adedoyin:您需要在以@angular/cli 结尾的路径中找到什么? ng 二进制文件位于 bin/ 内(或在下一行指定的文件夹中)。
              • ´npm ls´ 列出本地存储库,而 ´npm ls --global´ 列出全局存储库。存储库的路径打印在第一行。添加两者以确保
              • 我不得不将angular CLI的bin文件夹添加到路径\AppData\Roaming\npm\node_modules\@angular\cli\bin
              • 感谢您的解决方案,我花了 2-3 周的时间才找到解决方案,直到找到您的解决方案。
              【解决方案12】:

              Linux 用户

              $ alias ng="/home/jones/node_modules/@angular/cli/bin/ng"
              

              然后检查 angular/cli 版本

              ng --version
              

              enter image description here

              【讨论】:

                【解决方案13】:
                >> npm uninstall -g angular-cli
                >> npm uninstall -g @angular/cli
                
                >> npm cache clean
                

                重启你的机器

                然后&gt;&gt; npm install -g @angular/cli@latest

                设置路径:C:\Users\admin\AppData\Roaming\npm\node_modules@angular\cli

                希望你永远不会找不到'ng'

                【讨论】:

                  【解决方案14】:

                  就我而言

                  操作系统版本: Ubuntu 18.04.4 LTS

                  节点版本 v12.16.0

                  使用以下命令从/usr/local/bin 中删除 ng

                  sudo rm -r ng

                  之后,使用下面提到的命令安装ng

                  sudo npm install -g @angular/cli

                  【讨论】:

                    【解决方案15】:

                    您必须知道 Angular 安装的完整路径。 例如: C:\Users\\AppData\Roaming\npm\node_modules@angular\cli\bin\ng 。 输入 cmd、powershell 或 bash

                    alias ng="C:\Users\<your username>\AppData\Roaming\npm\node_modules\@angular\cli\bin\ng"
                    

                    【讨论】:

                      【解决方案16】:

                      您可以安装 npx 以使用安装在您的目录中的 Angular CLI:

                      npm install -g npx
                      npx ng serve
                      

                      【讨论】:

                        【解决方案17】:

                        如果你以这种方式正确安装npm:

                        npm install -g @angular/cli@latest
                        

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

                        【讨论】:

                        • 令人讨厌的是,Powershell 的行为就像一切都正确安装了一样。让我想咬狗咀嚼玩具。
                        【解决方案18】:

                        如果你有 npm,安装运行命令

                        npm install -g @angular/cli

                        然后使用这个绑定你的 ng:

                        cd

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

                        点击图片获取更多帮助。

                        【讨论】:

                          【解决方案19】:

                          如果您在 Windows 上工作,请执行以下操作:

                          从此目录:

                          C:\Users\ [你的用户名] \AppData\Roaming ,删除 NPM 文件夹 然后使用这个命令安装 Angular npm install -g @angular/ cli

                          【讨论】:

                            【解决方案20】:

                            100% 有效解决方案

                            1) rm -rf /usr/local/lib/node_modules

                            2)brew uninstall node

                            3)echo prefix=~/.npm-packages &gt;&gt; ~/.npmrc

                            4)brew install node

                            5)npm install -g @angular/cli

                            最后也是最重要的

                            6) export PATH="$HOME/.npm-packages/bin:$PATH"

                            如果任何编辑器仍然显示错误而不是写入

                            7) 指向那边。

                            100% 正常工作

                            【讨论】:

                            • 最后我跑了npm install 然后npm start
                            • ClientApp目录
                            【解决方案21】:

                            如果你已经安装了@angular/cli

                            那么你只需要使用npm link @angular/cli将它链接到npm

                            要不然先通过npm install @angular/cli安装angular再链接。

                            【讨论】:

                              【解决方案22】:

                              在浪费大量时间安装和卸载之前,请阅读此内容。

                              如果您之前已经安装了 Angular 并发现了这个问题,可能是因为您之前安装了 Angular 并以管理员身份运行终端,现在在没有管理员模式的情况下尝试此命令,反之亦然。这两者是有区别的。

                              如果您在没有管理员模式的情况下安装了 Angular,则您只能在没有管理员模式的情况下使用 ng 等 Angular 命令。同样,

                              如果您以管理员模式安装 Angular,则只能在管理员模式下使用 ng 等 Angular 命令。

                              【讨论】:

                              • 感谢@imran Hussain 正是我的问题,浪费了大约一天,最后你的回答帮助了我
                              【解决方案23】:

                              我试过了,通过更改 npm 目录一切正常。

                                       mkdir ~/.npm-global
                                       npm config set prefix '~/.npm-global'
                                       export PATH=~/.npm-global/bin:$PATH
                                       source ~/.profile
                                       npm install -g jshint
                                       ng --version
                              

                              【讨论】:

                                【解决方案24】:

                                我在 Mac 上安装它时遇到了很多问题,并且出现了所有权限错误 最后下面一行解决了这个问题。

                                sudo npm i -g @angular/cli
                                

                                【讨论】:

                                • 这为我下载了缺少的组件,然后 gradle 包装器降级为项目的正确版本。
                                【解决方案25】:

                                第一步:从以下路径中删除“npm”文件夹

                                C:\Users\YourUserName\AppData\Roaming
                                

                                第 2 步:删除“npm”文件夹后,卸载 Node.Js。

                                第 3 步:重新安装 Node.JS

                                第 4 步:使用此命令安装 Angular CLI npm install -g @angular/cli@latest

                                第 5 步:现在尝试:ng --versionng -v

                                【讨论】:

                                • 可以确认这对我有用。谢谢
                                【解决方案26】:

                                我遇到了同样的问题,刚刚解决了。

                                确保您已安装节点。

                                运行后

                                npm i -g @angular/cli
                                

                                安装完成后,尝试重新打开 git bash 或您正在使用的任何东西,或在新文件夹中打开它。繁荣。它对我有用

                                【讨论】:

                                  【解决方案27】:

                                  只需安装 npm install -g @angular/cli@latest

                                  【讨论】:

                                  • 这没有提供答案,问题中已经说明已经尝试过了。
                                  【解决方案28】:

                                  移除 NODE 并改用 NVM 解决了很多问题。

                                  从系统中删除节点

                                  从这里安装 NVM https://github.com/creationix/nvm

                                  通过 NVM 安装节点:nvm install

                                  稳定运行 npm install -g angular-cli

                                  LINK

                                  【讨论】:

                                  • 如果您使用 nvm 并且安装了多个版本的节点,请确保您使用的节点版本与安装 Angular 时使用的节点版本相同。我总是忘记这一点。
                                  猜你喜欢
                                  • 2020-01-08
                                  • 2020-01-27
                                  • 2018-06-16
                                  • 2017-04-05
                                  • 1970-01-01
                                  • 2016-09-10
                                  • 2019-06-04
                                  • 1970-01-01
                                  • 2017-04-13
                                  相关资源
                                  最近更新 更多