npm install changes 从 URL 解析为 false

Posted

技术标签:

【中文标题】npm install changes 从 URL 解析为 false【英文标题】:npm install changes resolved from a URL to false 【发布时间】:2020-09-12 15:28:01 【问题描述】:

问题

当我提取团队的代码并运行 npm install 时,package-lock.json 中的许多项目的 resolved 属性从 URL 更改为 false。例如

"debug": 
  "version": "3.2.6",
  "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz",
  …
,

// changes to 

"debug": 
  "version": "3.2.6",
  "resolved": false,
  …
,

我希望这发生。我不明白它为什么会发生或可能是什么原因造成的。这似乎是一个非常奇怪和严重的错误。如果我签入并部署会发生什么? ????‍♂️

细节

npm -v #=> 6.14.5

node -v #=> v12.13.0

【问题讨论】:

这是一个错误,似乎与使用 npm 链接有关。但它也几乎无关紧要,因为从 npm 5 开始,已解决的字段基本上被忽略了。只是稍微弄乱你的提交历史。 谢谢@bryan60。我不知道我们在任何地方使用npm link。这是自动完成的还是由我正在安装的软件包完成的? 这是 npm 本身的问题,计划在 7 中解决。但就目前而言,它只是烦人而不是有害。人们说您可以通过删除节点模块并重新安装来修复它 有趣!我已经确认rm -rf node_modules && npm i 不会重现该错误。使用 npm 的每个人都会发生这种情况吗,因为我在工作中没有听到太多关于它的信息(也许人们习惯于忽略它)并且在发布这个问题之前在我的搜索中没有找到太多。跨度> 嗯,它主要与使用 npm 链接有关,它较新且不太常用,但显然并非在所有情况下都如此。大多数受影响的人可能甚至都没有注意到它。只要 package.json 本身是正确的,我通常只接受任何包锁定更改而不审查它们,因为它是一个生成的文件。 idc 只要能正常工作,npm 到底在做什么 【参考方案1】:

解决方案

正如@bryan60 所指出的,这是 NPM 中的一个错误,特别是 npm link。除了等待更新,我们目前无能为力。

解决方法

如果您遇到问题并有几分钟时间rm -rf node_modules/ && npm install 将重新安装您的所有节点模块,您将不会遇到package-lock.json 问题。

【讨论】:

以上是关于npm install changes 从 URL 解析为 false的主要内容,如果未能解决你的问题,请参考以下文章

安装npm install时,长时间停留在fetchMetadata: sill 解决方法——换npm的源

npm ERR!

安装npm install时,长时间停留在fetchMetadata的解决方法

有没有办法从 AWS S3 “npm install”?

安装错误:INSTALL_FAILED_UID_CHANGED 非root安卓手机

npm install时的一个小问题