cnpm/cnpmjs.org

为什么淘宝源和官方源的行为不一致

takayama-lily opened this issue · 6 comments

npm版本为7.22.0
使用 npm i ws 安装ws库
淘宝源会强制安装peerDependencies里的可选依赖bufferutilutf-8-validate
因为是addon模块,在某些环境下直接导致安装失败。
换成官方源正常,不会自动安装这两个模块。

你是指使用了 --registry 参数后行为不一致么?

你是指使用了 --registry 参数后行为不一致么?

是啊,只是换个源出现这种不一致就很奇怪

--legacy-peer-deps 安装的时候加个这个试试。

https://blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major.html

npm7 默认会安装 peer dependencies 了,这个和 registry 应该没有关系。

--legacy-peer-deps 安装的时候加个这个试试。

https://blog.npmjs.org/post/626173315965468672/npm-v7-series-beta-release-and-semver-major.html

npm7 默认会安装 peer dependencies 了,这个和 registry 应该没有关系。

不,一定有问题,那两个依赖的peerDependenciesMeta是optional的
https://docs.npmjs.com/cli/v7/configuring-npm/package-json#peerdependenciesmeta
官方源没有自动安装是正确的,换源后自动安装就有问题了。

定位到问题了,是 application/vnd.npm.install-v1+json 返回数据时漏字端了。

已经修复 #1668

npm i ws --registry=https://registry.npmmirror.com

added 93 packages in 37s