【问题标题】:extremelly slow npm install on Ubuntu 20.04 running on WSL2在 WSL2 上运行的 Ubuntu 20.04 上安装极慢的 npm
【发布时间】:2022-01-05 14:42:21
【问题描述】:

我在适用于 linux 2 (WSL2) 的 windows 子系统中的 Ubuntu 20.04 中使用 npm 版本 8.1.2。

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

npm install solc web3 mocha ganache-cli @truffle/hdwallet-provider --verbose

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

我已经检查了以下内容:

  1. npm 版本是最新的,我使用的是 npm 版本 8.1.2
  2. 我已经更新了注册表以使用 http 而不是 https 使用:
npm config set registry http://registry.npmjs.org/
  1. 检查的互联网连接运行良好,速度为 144 Mbps
  2. 在不同的 linux 机器上尝试了相同的安装,它以预期的速度运行

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

附言。 stackoverflow中确实有很多关于npm install速度的话题,但是我已经阅读了很多,这导致我测试了前面提到的4个话题。

【问题讨论】:

  • 您找到解决方案了吗?我现在遇到同样的问题。
  • 我还没有找到解决方案,不过我找到了解释。显然,WSL2 与 windows 的文件系统集成使得导航文件夹极其缓慢,这就是为什么整个 npm 安装过程需要很长时间。我暂时在windows环境下开发,不过也可以在windows上npm install,然后把文件移动到WSL2 OS...
  • 是的,但这仅用于访问安装在 /mnt 目录中的 Windows 文件,在我的情况下,我的文件都位于 /home
  • 您是否尝试过在其他时间安装?

标签: node.js npm windows-subsystem-for-linux ubuntu-20.04


【解决方案1】:

假设您没有处理安装在 /mnt 中的文件,那么以下内容对我有用。作为一个快速测试,我做了wget -O - https://registry.npmjs.org,很明显名称解析是罪魁祸首。

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

[network]
generateResolvConf = false

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

nameserver 8.8.8.8

如果您不想使用 Google,请将 8.8.8.8 替换为您选择的 DNS 服务器具有的任何 IP 地址。

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

我不知道为什么使用 stock resolv.conf 配置名称解析如此缓慢,但这种解决方法使其再次正常。

【讨论】:

    猜你喜欢
    • 2021-03-16
    • 1970-01-01
    • 2021-07-03
    • 2021-08-23
    • 1970-01-01
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2020-10-04
    相关资源
    最近更新 更多