我已经在 bash 终端(默认终端)中设置了我的 Angular 项目。命令如下
ng s
效果很好。
现在我将默认终端更改为 zsh。 运行命令时
ng serve
抛出错误:
zsh: command not found: ng
如果我将新的默认终端(zsh)切换为 bash,它就可以正常工作;再次到zsh。 我认为 zsh 最初不理解 bash 中安装的软件包
如何解决此命令未找到的问题?
可能在启动时 bash 将 ng 位置添加到
PATH
,但 zsh 不会。您可以检查 ~/.bashrc
和 ~/.bashprofile
以查看添加到 PATH
变量中的内容(所有以 export...
开头的行),并将这些行复制到 ~/.zshrc
文件中。
要解决错误“ng:找不到命令”, 通过以下方式全局安装 Angular cli 包
npm install -g @angular/cli@latest
并重新启动您的终端。
如果 Angular 全局安装失败,您可能需要运行前缀为
sudo
的命令。
获取软件包版本
ng version
。
如果你的节点版本是22,尝试降到20;它对我有用。高于 20 的节点版本也会抛出此错误。
将命令
source <(ng completion script)
从 ~/.zshrc
文件移动到 ~/.zprofile
文件末尾。
这样,在 zsh 启动脚本加载后将正确引用
ng
命令。 @starterProgrammer 答案不正确,因为它删除了命令并且没有解决问题。另外,如果已经安装了 Angular CLI,则无需重新安装。