angular-cli broken state无法重新安装:@ angular / compiler-cli的版本需要为2.3.1或更高版本。当前版本是“未定义”

时间:2017-04-05 12:06:14

标签: angular npm angular-cli

npm uninstall -g angular-cli
npm uninstall --save-dev angular-cli

然后清理cacge并安装新版本

npm cache clean
npm i --save -g angular-cli@1.0.0-beta.21

然后我运行ng --version并收到错误:

Version of @angular/compiler-cli needs to be 2.3.1 or greater. Current version is "undefined".

我可以做另一项检查以避免此错误吗?

3 个答案:

答案 0 :(得分:1)

最新版本的Angular-cli指定为@angular/cli

使用:

npm install -g @angular/cli

https://www.npmjs.com/package/@angular/cli

我认为该名称已更改为在测试结果出现时使用@符号。

答案 1 :(得分:0)

ng -v项目文件夹上运行cli时,您将获得本地cli版本。

在项目文件夹外运行ng -v以获取全局cli版本。

还尝试删除node_modules文件夹并重新运行npm install它可能会修复您的本地错误。

<强> P.S

我正在与datepicker进行分散,因此您必须更改为不同的一个或继续解析为npm modules

选中此datepickeronline demo您可能会喜欢这个 - 它已受支持angular v4,因此您可以使用最新的cli。如果您有兴趣material2,团队很快就会发布datepicker组件。

否则,您必须与npm modules版本对抗以解决您的问题。

答案 2 :(得分:0)

此问题是由angular-cli的旧版本引起的。 如果你运行

ng -v

输出

@angular-cli: 1.0.0 beta...

全局删除angular-cli的正确方法是

npm uninstall -g angular-cli
npm cache clean
npm install -g @angular/cli

使用sudo运行这些命令。如果这样有效,那么恭喜。

但在我的情况下,这不起作用。因为在运行上述命令后,现在安装了两个angular-cli。一个(较旧的)本地安装在/usr/local/lib/node_modules,其他较新的全局安装在/usr/lib/node_modules。现在,我手动从本地文件夹中删除了angular-cli。

rm -rf /usr/local/lib/node_modules/angular-cli

现在,如果你运行

ng -v

你会找到

@angular/cli: 1.4.9