运行windows 7 Professional 32bit。

我试着在normal或admin下运行npm install -g angular-cli。

我还尝试将它添加到PATH: (C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)下的环境变量中,也没有成功。

我做错了什么?


当前回答

由于这个问题在一年后仍然被反复问到,我将在这里发布我的答案。

提示(仅在Windows上)是正确地安排path变量中的条目。

正如NPM wiki告诉我们的:

因为安装程序将C:\Program Files (x86)\nodejs放在你的PATH上的C:\Users\ AppData\Roaming\npm之前,所以它总是使用node安装的npm版本,而不是你使用npm -g install npm@<version>安装的npm版本。

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

…;C: \ < path-to-node-installation >; % appdata % \ npm;…

现在你有两种可能:

交换这两个元素,它看起来就像

…;%appdata%\npm;C:\<path-to-node-installation>;…

这将加载与npm一起安装的npm版本(而不是与node一起安装)和已安装的Angular CLI版本。

如果你(无论出于什么原因)喜欢使用npm版本和node绑定,将直接路径添加到你的全局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;… 简写形式。

这对我来说很管用。

其他回答

在我的情况下,我做了以下步骤。

所有程序-> Node JS->右键单击Node. JS命令提示符,选择属性和从目标字符串在结束复制下面

/k "C:\Program Files\nodejs\nodevars.bat"

我启动Visual Studio Code并打开下面的文件

C:\Users\gochinta\AppData\Roaming\Code\User\settings.Json,并给出如下

// Place your settings in this file to overwrite the default settings
{
  "terminal.integrated.shellArgs.windows": 
  ["/k", "C:\\Program Files\\nodejs\\nodevars.bat"]

}

现在我在Visual Studio Code终端窗口中输入ng -v,它工作了。

我在Windows 7上也遇到了同样的问题,64位运行npm v3.10.8。

我按照建议添加了路径:(C:\Users.....(你的用户名)\AppData\Roaming\npm\node_modules\angular-cli\bin\ng)和卸载angular-cli。 在这之后,我清除npm缓存通过npm缓存清理提示这里https://blogs.msdn.microsoft.com/matt-harrington/2012/02/23/how-to-fix-node-js-npm-permission-problems/。这保证了没有剩菜。 用npm install -g angular-cli重新安装angular-cli,瞧。 希望对大家有用!

将C:\Users\DELL\AppData\Roaming\npm添加到系统变量路径对我来说很有效。请找到相应的“npm”文件路径

另外,检查是否已经将angular-cli\bin路径添加到path变量中。

我使用的是win10,只是为了解决这个问题。 在cmd中输入下面的代码:

NPM配置获取前缀

然后复制粘贴你从顶部得到的路径到你的计算机环境变量——>用户变量盒子——> path——> edit——C:\Program Files\nodejs\ node_global,你的路径可能不同。

点击确定并重新打开cmd窗口,输入ng版本,然后它就工作了!干杯!

通过命令

npm install -g @angular/cli@latest

它工作得很好,我现在能够运行ng命令了。