npm太多的本地依赖?

试图摆脱git submodule工作stream程到npm install一个。 我有大约60个独立的库,并将其转换为适当的npm模块。 现在我有package.json具有相当大的dependencies部分,其中每一行是这样的:

 "libraryN": git+ssh://git@gitlab.company.local:libraryN.git 

还有60条这样的线。 每个库都可能有自己的依赖关系,但其中大多数没有依赖关系。 他们彼此独立。

现在,当我做npm install它暂停几秒钟(build立一个单一的依赖列表,我推测),并与以下的SSH错误失败:

 ssh_exchange_identification: Connection closed by remote host 

做了一些实验,我发现package.json的依赖限制数量有所帮助。 所以,有10个或更less的依赖总是没有任何错误的工作。 11至14岁之间偶尔会失败,15岁以上的人总是失败。

看起来这与同步ssh连接到我的本地git存储库服务器有关。 检查了它的日志 – 没有发现可疑的东西。

问题 – 如何一次性安装(和pipe理)所有60个依赖项并避免与ssh相关的问题?

谢谢。

我有相同的问题,似乎能够通过增加MaxStartups和MaxSessions(sshd默认为10)来解决它,

/etc/ssh/sshd_config:

 ... MaxStartups 60 MaxSessions 60 

另一个解决scheme可能是使用SSH连接池。 把这个放在~/.ssh/config

 Host * ControlMaster auto ControlPath /tmp/%r@%h:%p ControlPersist yes EscapeChar ~ 

您可能需要减less同时连接的数量,默认为50。

例如下面的npmconfiguration允许限制到3个最大同时连接:

 npm set maxsockets 3 

自npm@3.8.0以来,CLI一直在允许这个选项。 看到这个链接进一步参考。