当我打开终端时显示“指定的命令("completion")无效。要查看可用选项列表,请运行“ng help”。”。

35

当我打开终端时,什么也没发生。它会显示以下错误信息。

在此输入图片描述


你检查过启动文件(~/.bashrc)了吗? - jonrsharpe
可能是因为您的全局 Angular CLI 版本不正确(@14)。 - Piosek
3个回答

57

在升级 Angular 后,每次打开终端都会遇到相同的错误。

根据您使用的终端不同,可以打开配置文件(保存在 ~/.bashrc 中)或打开 zshell(保存在 ~/.zshrc 中),其他终端以此类推,

编辑相应的 ~/.bashrc~/.zshrc 文件并删除或注释此行:

source <(ng completion script)

很遗憾,您将失去Angular自动完成功能,但看起来他们的实现中存在一些错误导致了这个问题。


1
请按照此帖子替换他们的完成脚本:https://dev59.com/_6vka4cB1Zd3GeqPoycU - Chris
3
在 Mac Vim 中打开 ~/.bash_profile 文件。 - Jauhar xlr

22
根据angular.io的说法,ng completion可以在命令行模式下帮助你。因此,如果你遇到问题,可以尝试修复它而不是简单地删除它。此命令适用于Angular 14。 首先,您应该尝试通过以下命令升级您的@angular/cli:
npm uninstall @angular/cli
npm i --location=global @angular/cli

接下来,您应该尝试打开一个新的终端,看看问题是否依然存在。

如果是这样,那么很可能您使用了错误的ng。通过运行which ng命令,它会告诉您“全局”ng的位置。几乎可以肯定不是您刚刚安装的那个。

所以您可以删除这个ng及其相关的node_modules/@angular,然后重新安装angular cli。

现在应该可以工作了。


5
在 Node 16 上,我不得不执行 npm uninstall -g @angular/cli 然后执行 npm install -g @angular/cli - AliF50
@AliF50 的提议同样适用于 v14.19.1 版本。 - ad3luc

1

请确保按照Bryan的建议将您的angular/cli升级到最新版本。我之前也遇到了同样的错误,但是在将我的angular cli版本升级到最新版后问题得以解决。


这并没有真正回答问题。如果你有不同的问题,可以通过点击提问来询问。如果你想在此问题获得新的答案时得到通知,你可以关注该问题。一旦你拥有足够的声望,你也可以添加赏金来吸引更多的注意力。 - 来自审查 - Mattew Eon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接