首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >运行在WSL2上的Ubuntu20.04上极慢的npm安装

运行在WSL2上的Ubuntu20.04上极慢的npm安装
EN

Stack Overflow用户
提问于 2022-01-05 14:42:21
回答 2查看 2.5K关注 0票数 5

我在windows系统LinuxforLinux2 (WSL2)的Ubuntu20.04中使用NPMVersion8.1.2。

我一直试图为我的项目安装5个依赖项,但是安装挂起。

代码语言:javascript
运行
复制
npm install solc web3 mocha ganache-cli @truffle/hdwallet-provider --verbose

然而,安装需要花费很长时间(超过10个小时)。

我已经检查了以下内容:

  1. npm版本是最新的,我正在使用npm版本8.1.2
  2. 我已经更新了注册表以使用http而不是https使用:

代码语言:javascript
运行
复制
npm config set registry http://registry.npmjs.org/

  1. 检查了在144 Mbps
  2. 上运行良好的internet连接,在另一台linux机器上尝试了相同的安装,该机器以预期的速度运行

以前有人遇到过这个问题吗?解决办法是什么?

PS。在堆栈溢出中,关于npm安装速度的话题确实很多,但我已经读了很多,这导致我测试了前面提到的四个主题。

EN

回答 2

Stack Overflow用户

发布于 2022-01-20 07:38:10

假设您没有处理在/mnt中挂载的文件,那么下面的操作对我来说是有效的。作为一个快速测试,我对wget -O - https://registry.npmjs.org进行了测试,很明显,名称解析是罪魁祸首。

我也遇到了同样的问题,并通过创建/etc/wsl.conf文件解决了这个问题,添加了以下内容:

代码语言:javascript
运行
复制
[network]
generateResolvConf = false

然后,我替换了现有的/etc/resolv.conf符号链接,因此您必须删除它,然后使用您最喜欢的文本编辑器重新创建它,添加以下内容:

代码语言:javascript
运行
复制
nameserver 8.8.8.8

如果您不想使用谷歌,请用您选择的DNS服务器的任何IP地址替换8.8.8.8

完成后,通过在提升的Windows命令提示符中运行wsl --shutdown重新启动WSL实例,然后您可以像往常一样启动WSL实例。

我不知道为什么使用股票resolv.conf配置的名称解析速度这么慢,但这种解决办法使其再次正常。

票数 3
EN

Stack Overflow用户

发布于 2022-09-02 14:11:05

以下是适合我的正确步骤:

代码语言:javascript
运行
复制
sudo rm /etc/resolv.conf
sudo bash -c 'echo "nameserver 8.8.8.8" > /etc/resolv.conf'
sudo bash -c 'echo "[network]" > /etc/wsl.conf'
sudo bash -c 'echo "generateResolvConf = false" >> /etc/wsl.conf'
sudo chattr +i /etc/resolv.conf

下面是指向github问题的链接:

代码语言:javascript
运行
复制
https://github.com/microsoft/WSL/issues/7254#issuecomment-905767204
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70594786

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档