npm 3.10.10安装套接字挂起错误

npm 3.10.10安装套接字挂起错误,npm,node-modules,Npm,Node Modules,我正在运行Ubuntu 16.04内核为4.13.0.0-36-generic的Dell XPS 15上使用Node 6.10.1和npm 3.10.10。 我支持通过cntlm配置的公司代理 当我在一个项目上运行一个npm安装-d时,它会在短时间内工作,一段时间后,我得到错误:套接字挂起 我发现了许多关于我的问题的问题,但似乎没有解决办法 以下是npm配置列表的摘录: ; cli configs user-agent = "npm/3.10.10 node/v6.10.1 linux x64"

我正在运行Ubuntu 16.04内核为4.13.0.0-36-generic的Dell XPS 15上使用Node 6.10.1和npm 3.10.10。 我支持通过cntlm配置的公司代理

当我在一个项目上运行一个
npm安装-d
时,它会在短时间内工作,一段时间后,我得到
错误:套接字挂起

我发现了许多关于我的问题的问题,但似乎没有解决办法

以下是npm配置列表的摘录:

; cli configs
user-agent = "npm/3.10.10 node/v6.10.1 linux x64"

; userconfig /home/msb/.npmrc
https-proxy = "http://localhost:3128/"
registry = "http://urlTocorporateRegistryWhichWorksOnOtherComputers"
strict-ssl = false

; node bin location = /home/msb/.nvm/versions/node/v6.10.1/bin/node
; cwd = /home/msb
; HOME = /home/msb
; "npm config ls -l" to show all defaults.
无法更改注册表,因为我们正在使用一些内部模块,我必须保留node/npm的当前版本

我已经试过:

  • 直接在npm配置中使用代理,而不是通过cntlm
  • 通过命令trickle-s-d 100-u 100 npm install-d限制我的上传/下载功能
另一个迹象是:它在Windows上工作,我有一个同事在较慢的pc上运行Ubuntu17.04,这对他很有用。我们认为我的机器在请求注册表时可能有点太残忍了。有人知道减缓npm请求的方法吗

它曾经通过纱线工作,但一些新的发展迫使我回到npm

是否有人遇到并纠正了此问题


谢谢你的帮助。

我在Ubuntu 18.04上试验了同样的问题,没有明显的原因

我最后用docker和绑定坐骑解决了这个问题。步骤如下:

  • 使用以下元素创建dockerfile(如果不需要像我一样配置代理,也可以直接使用使用的映像运行)

  • 生成映像(从docker文件的文件夹):
    docker映像生成-f npm安装程序/docker文件-t自定义npm安装程序。

  • 进入通常运行
    npm安装的项目文件夹
  • 运行以下命令以交互方式运行容器:
    docker container Run-it--network host-v:/home/root/pj to install--name custom npm installer custom npm installer bash
现在可以从容器中运行
npm install
命令。但是要小心,然后需要递归地在node_modules文件夹上使用
chmod
,因为容器默认使用root

另一件事,如果您使用的是节点sass,那么在安装npm时大部分时间都是动态编译的,并且与您的操作系统当前版本/体系结构相匹配。因此,如果linux发行版与容器的发行版不完全相同,则在容器上运行
npm install
后,可能需要在主机上重新编译节点sass。不过不用担心,node-sass将在您启动应用程序时为您提供运行命令

FROM node:6.10.1

ENV HTTPS_PROXY "http://yourproxy:yourport/"

# Different RUN commands to configure npm and git corporate proxy

WORKDIR /home/root/