我遇到了npm的问题,我无法安装任何东西。以下是错误消息:
C:\Windows\system32>npm install -g yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm http GET https://registry.npmjs.org/yo
npm ERR! network read ECONNRESET
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settin
gs.
npm ERR! network
npm ERR! network If you are behind a proxy, please make sure that the
npm ERR! network 'proxy' config is set properly. See: 'npm help config'
npm ERR! System Windows_NT 6.2.9200
npm ERR! command "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nod
ejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "yo"
npm ERR! cwd C:\Windows\system32
npm ERR! node -v v0.10.17
npm ERR! npm -v 1.3.8
npm ERR! syscall read
npm ERR! code ECONNRESET
npm ERR! errno ECONNRESET
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! C:\Windows\system32\npm-debug.log
npm ERR! not ok code 0
知道为什么会这样吗?这是我的网络设置,似乎我没有配置任何代理。我还禁用了所有防火墙。
答案 0 :(得分:304)
使用
npm config set registry http://registry.npmjs.org/
以便npm请求http
url而不是https
。
然后尝试相同的npm install
命令
答案 1 :(得分:29)
您可能需要检查您的NPM代理设置,并可能将其删除。
upper_area = False
out_str = ""
for char in inp:
if char == '>':
upper_area = False
elif char == '<':
upper_area = True
elif upper_area:
char = char.upper()
out_str += char
有人可能期望全新安装的NodeJS + NPM不会配置代理。奇怪的是,我的确定了一个代理定义,指向一个IP和端口3128.删除代理就行了。
答案 2 :(得分:14)
您可能还需要指定代理服务器/端口,在某些环境中,代理的系统设置不足以让npm工作。
npm config set proxy "http://your-proxy.com:80"
答案 3 :(得分:10)
在家中删除您的代理设置并在Office网络上打开,这可能很烦人,但它对我有用:
npm config set proxy http://xxx.xxx.xxx.4:8080
npm config set https-proxy http://xxx.xxx.xxx.4:8080
和
npm config rm proxy
npm config rm https-proxy
答案 4 :(得分:8)
这可以通过使用sudo
使用npm安装任何内容引起 - 这会导致缓存中的文件由root拥有,从而导致此问题。你可以通过运行来解决它:
sudo rm -rf ~/.npm
删除缓存。然后尝试再做一遍,确保你永远不要使用sudo
和npm
(或问题可能会回来)。
答案 5 :(得分:4)
重新启动PC即可正常工作。
答案 6 :(得分:3)
删除yarn.lock
、package-lock.json
、node_modules
然后
npm install -f
为我工作
答案 7 :(得分:3)
使npm在代理网络中运行良好的三件事。
此设置npm注册表,默认情况下可能需要https。
npm config set registry&#34; http://registry.npmjs.org/&#34;
其次是系统中的两个代理。如果您的组织使用代理或您。
npm config set proxy&#34; http://username:password@proxy-url:proxy-port&#34;
npm config set https-proxy &#34; http://username:password@proxy-url:proxy-port&#34;
您还可以通过
检查它们是否已设置npm config get https-proxy
表示所有值。
答案 8 :(得分:1)
npm config rm proxy
npm config rm https-proxy
适合我!
答案 9 :(得分:1)
以防万一...再多花点时间为我工作。 可能只是一个临时连接问题。
答案 10 :(得分:1)
我发现“ npm config edit”对于更新https-proxy,proxy,registry的条目更为有用
我做了这样的事情
答案 11 :(得分:1)
如果您使用的是Windows,则应遵循“高级系统设置”来检查在那里声明的env var,您应注意,代理配置可能位于环境变量中,如下图所示:
因此,如果您的代理服务器不可用或正在阻止来自npm的通信,您可能会注意到本主题中的上述错误。也许您根本不需要任何代理,在这种情况下,只需删除此HTTP_PROXY env变量即可。
我已经在Windows和npm设置中关闭了所有代理配置,但是,npm在下载资源时仍然出现超时和连接错误,然后我发现env变量上还剩下一个代理配置,这导致了所有麻烦。
答案 12 :(得分:1)
我们公司的防火墙将停止安装节点,因此连接到个人网络并安装,它对我有用。
答案 13 :(得分:1)
我已经尝试了几乎所有在这里和其他页面发布的方法,但是没有用。以下是我按顺序执行的命令,我鼓励您尝试,因为它适用于很多人(但不是我):
npm config rm proxy
npm config rm https-proxy
npm config set https-proxy https://username:password@proxy.company.com:6050
npm config set proxy http://username:password@proxy.company.com:6050
npm config set registry http://registry.npmjs.org/
然后尝试安装包npm install -g express
,但失败了。
但是,当我尝试运行npm install npm@latest -g
时,奇迹般执行并安装得很好!
然后再次运行npm install -g express
也完美无缺。
TL; DR :将npm更新到最新版本解决了问题(目前为6.0.1)
答案 14 :(得分:1)
这对我有用:
proxy = http://1.1.1.1:3128/
https_proxy = http://1.1.1.1:3128/
strict-ssl = false
ca = null
registry = http://registry.npmjs.org/
在此处找到答案:https://fak3r.com/2015/07/31/howto-use-npm-behind-a-corporate-proxy/
答案 15 :(得分:1)
在从npm安装任何软件包时,我在Windows中遇到了同样的问题。修正了 - **以管理员身份打开命令提示符并运行这3个命令** /
1。 npm config rm proxy
2。 npm config rm https-proxy
3. npm install npm @ latest -g
FOR MAC / LINUX
1。 sudo npm config rm proxy
2。 sudo npm config rm https-proxy
3. sudo npm install npm @ latest -g
基本上这是npm的版本。请检查其工作
答案 16 :(得分:1)
我遇到了同样的问题,但这些解决方案都没有正常工作。最后,我通过yarn安装了软件包,它与npm兼容。根据官方网站:
对于大多数用户来说,从npm迁移应该是一个相当简单的过程。 纱线可以使用与npm相同的package.json格式,并且可以安装 来自npm注册表的任何包。
只需安装纱线,然后使用以下命令运行安装,相当于纱线中的npm install
:
yarn install
阅读更多内容 - Yarn: Migrating from npm。
答案 17 :(得分:1)
尝试在 Oracle VirtualBox 中模拟的系统上运行npm
时遇到了同样的问题。我通过在网络适配器属性中添加Google DNS地址解决了这个问题。
网络适配器属性&gt; IPv4属性&gt;首选DNS地址:8.8.8.8
。
答案 18 :(得分:1)
我在没有代理的本地家庭网络上遇到了同样的问题。这个帖子中的其他答案对我不起作用。我最终做的是使用yarn
,它可以与npm
:
yarn add
直到今天,我不知道为什么我的npm仍然无法正常工作。我确信这是我的Wi-Fi问题,因为当我连接到LTE时,我的智能手机npm install
播放的互联网再次运行。它可能与路由器设置有关(当我升级我的网速并且ISP工作人员用新的路由器替换旧路由器时出现问题)。
答案 19 :(得分:1)
我遇到了npm抛出此错误的问题。
所以基本上每当出现错误时我都会使用手动安装
从git或等待和安装指定的版本,如:
npm install resolve@^1.1.6
单独跑步时:
npm install resolve
没有工作。
我将node.js从7更新为8,npm install顺利进行。
我认为版本7可能导致此问题,因为@luschn降级为6,所以他也没有使用7。
也许注册表本身在返回错误时没有在状态页面上显示问题,因为一段时间后我可以安装这个破解包,然后继续npm install
来安装其余部分。
答案 20 :(得分:1)
我不想为注册表切换到http,对我有用的是从最新的Node版本降级到LTS版本(截至目前为止,6.x)。
答案 21 :(得分:1)
如果您的已保存的承载令牌现在无效,您可能还会遇到此错误。我在使用私人仓库时遇到了这种情况,其中帐户被擦除并重置,使令牌无效。虽然您的仓库可能不需要身份验证,但如果您有先前登录的令牌,则会通过该令牌,如果它无效,您的连接将被关闭。
您可以通过使用新用户名和密码再次登录来解决此问题,或者可以通过简单地通过npm注销来解决此问题。
答案 22 :(得分:1)
这是一个老问题,但无论如何。
我有这个问题,当我尝试部署到heroku时,对我有用的修复是更新使用的npm
版本。我有版本2.x.x,我更新到3.x.x
答案 23 :(得分:1)
在工作中,我不得不加载浏览器并浏览网页(通过我们的网络过滤器对我进行身份验证)。然后我重试了命令,它运作成功。
答案 24 :(得分:0)
npm配置集https-proxy“ http://username:password@proxy-url:proxy-port”对我有用
答案 25 :(得分:0)
请使用
npm配置集注册表http://registry.npmjs.org/
答案 26 :(得分:0)
以防万一,这对遇到我的情况的人有帮助:我最近安装了Fiddler,该设备(我不知道)通过127.0.0.1:8866
添加了网络代理。我进入Ubuntu网络设置,单击“网络代理”设置,然后将其禁用,然后一切恢复正常。
因此,通常,请检查以确保由于您正在做的其他事情而没有设置网络代理。
答案 27 :(得分:0)
我找到了一个简单的解决方案。如果您使用的是 Windows 10,请转到网络设置并关闭自动代理检测。它解决了我的问题。过去 2 天我一直在寻找这个。
答案 28 :(得分:-1)
使用 sudo
运行此命令
sudo npm install -g yo
以 administrator
运行 cmd,然后再次运行此命令
运行此命令然后尝试
npm config set registry http://registry.npmjs.org/