无论是从package.json安装的npm还是单个软件包,我的npm都会遇到很多困难。
现在,我甚至无法sudo npm install node-inspector -g
我在node 6.2.1
npm 3.9.5
,ubuntu 16.04
npm cache clear
没有帮助。
安装需要数小时或失败。
答案 0 :(得分:51)
如果您使用任何代理,请检查代理是否存在任何问题。 您也可以尝试手动设置npm的端点:
npm config set registry="http://registry.npmjs.org"
答案 1 :(得分:21)
答案 2 :(得分:11)
我遇到了同样的问题,fetchMetaData
上挂了几个不同的安装,包括上面提到的yarn
的安装。我正在使用Mac
并通过更新npm
解决此问题,如下所示:
npm install npm@latest -g
因此,如果您在Mac
上遇到此问题,请尝试更新,看看它是否能解决您的问题。
答案 3 :(得分:6)
对我来说,它是Windows中的双重临时目录。
打开命令提示符并键入:
echo %TEMP%
您应该收到单个目录的路径。如果您收到多个目录(我收到C:\ Users \\ AppData \ Local \ Temp; C:\ xampp \ php),这可能是问题所在。您可以使用以下命令修复它:
SET TEMP="<correct path to temporary directory>"
其中<correct path to temporary directory>
可能是第一条路径(在分号之前,在我的情况下,这意味着C:\Users\<user>\AppData\Local\Temp
)。
答案 4 :(得分:5)
您配置了代理吗?看看是否返回什么:
> npm config get https-proxy
> npm config get proxy
如果在此处配置了值,则它们可能与正确的值不匹配。如果您不应该使用代理,则可以删除它们:
> npm config delete https-proxy
> npm config delete proxy
答案 5 :(得分:5)
您需要清除https代理设置:
npm config rm proxy
npm config rm https-proxy
答案 6 :(得分:2)
我遇到了同样的问题。首先尝试使用npm install
标志运行-verbose
。这可以帮助您识别问题。
那个命令告诉我隧道插座有问题:
无法建立隧道套接字,因为=写EPROTO 101057795:错误:140770FC:SSL例程:SSL 23_GET_SERVER_HELLO:未知协议:openssl \ ssl \ s23_clnt.c:794:
之后我搜索了错误并找到了thread on github关于该问题的信息。问题出在代理中:之前我设置了HTTP_PROXY
环境变量,然后删除了环境变量npm install
,没有任何错误。
答案 7 :(得分:1)
有很多不同的事情可能导致这个问题。
我尝试了很多东西,包括这里发布的大部分答案,但没有运气。
出于某种奇怪的原因,这是我的ISP的问题。当我尝试使用其他ISP时,它运行良好。
答案 8 :(得分:1)
对于大多数人来说,该问题可能与代理设置有关,可以通过上述解决方案解决。
对我来说,问题是另外一回事。我有私有存储库依赖关系,这些依赖关系托管在Bitbucket上,并通过“ git + ssh://git@bitbucket.org/”解决,该实习生使用SSH检索存储库。
默认情况下,如果DNS检索AAAA记录并且主机具有一个AAAA记录,则SSH首选IPv6。由于Bitbucket确实具有AAAA记录,因此SSH是通过IPv6完成的。但是我的ISP不支持IPv6(您可以通过http://ipv6-test.com/中的测试来检查ISP是否支持IPv6)。
要解决此问题,您可以强制SSH客户端使用IPv4而不是IPv6。
在AddressFamily inet
中设置/etc/ssh/ssh_config
,然后重新启动SSH客户端。
在Ubuntu上重新启动SSH客户端,请使用sudo service ssh restart
答案 9 :(得分:1)
我有一个与@giridhar类似的问题,但它与代理无关,只是我的ssh密钥未正确设置。 尝试从ssh://网址执行git ls-remote时。我得到提示输入我的ssh密钥的密码。
我不得不在命令行上运行以下命令,以免被要求输入密码:
$ eval `ssh-agent -s`
$ ssh-add ~/.ssh/id_rsa
输入密码后,就不必再输入了。
如果您需要设置SSH密钥,我强烈建议您从Atlassian阅读此Wiki:https://confluence.atlassian.com/bitbucket/set-up-an-ssh-key-728138079.html
答案 10 :(得分:0)
有同样的问题。通过切换到项目所需的正确版本的节点来修复它。
我的项目需要节点>=v4.3 and <=v5.
1)检查nvm ls
2)使用nvm use [version]
或者安装特定版本。如果你没有。