我已安装nodejs并尝试在windows7上安装agular-cli。 以下是用于安装的命令。
npm install -g angular-cli
安装angular-cli时,会抛出以下错误消息:
This is most likely not a problem with npm itself and is related to network connectivity.
In most cases you are behind a proxy or have bad network settings.
我也尝试了以下命令,但仍面临同样的问题。
npm cache clean
npm install -g -f angular-cli
我已经阅读了很多文档和帖子来解决此问题,但无法解决。 我想使用IntelliJ和angular2。
我在多台机器上尝试过它并得到同样的错误。
- 编辑 -
我尝试以管理员身份运行这些命令,但仍面临相同的上述错误。我已使用以下命令设置了注册表。
>npm set registry https://registry.npmjs.org/
>npm install -g angular-cli
我注意到的一些事情:
1)无法ping ping 8.8.8.8
- 它说请求超时。
2)无法ping 'ping registry.npmjs.org'
- 它表示请求已超时。
3)我可以通过浏览器中的https https://registry.npmjs.org/
进行连接我是否需要设置代理设置来解决此问题,如果是这样,如何设置? 任何建议都会有所帮助。
答案 0 :(得分:0)
根据错误消息,您有两个问题。
首先,您没有以管理员身份运行,这就是为什么它显示EPERM
错误且无法写入C:\program files\nodejs\npm-debug.log
。
要以管理员身份运行,请右键单击cmd.exe
图标,然后从菜单中选择run as administrator
。它应该在cmd窗口的标题栏中显示“Administrator”。
第二个问题是超时,由ETIMEOUT
表示。这意味着NPM连接服务器的时间太长。这意味着你要么在NPM服务器出现故障的极少数情况下尝试过这种情况,要么就是在代理服务器之后。
如果您在代理服务器后面,则需要重新配置路由器或配置NPM以使用代理服务器。
关于github上的这个问题的进一步讨论:https://github.com/npm/npm/issues/8293
许多人似乎都在报告他们的网络设置为private
或者他们的路由器的防火墙不允许npm通过。其他人报告明确设置npm注册表有帮助:
npm config set registry http://registry.npmjs.org