使用 NPM 安装依赖项,包括存储在本地运行的 Verdaccio 中的依赖项。
NPM 以某种方式卡住尝试从本地主机加载 Verdaccio 依赖项,即使已运行从更正位置安装的命令 npm install --save --registry http://CORRECT-URL ...
使用 rm -rf node_modules package-lock.json
并从 package.json
中删除依赖项,然后再次运行安装 - 仍然不起作用。每次安装命令完成时,package-lock.json
仍然使用 localhost
来解析注册表。
从 ~/.npmrc
中删除本地主机并运行 npm set registry http://CORRECT-URL
也没有帮助。
请帮忙。 NPM 哪里记得 localhost
并坚持使用它???
更新 - 使用npm install -ddd
尝试使用 npm install -ddd
来查看 npm 在哪里获取包。输出显示正确的 URL,但完成后,package-lock.json
仍会列出 localhost
。
注意以下所有事项:
- 从
package.json
和package-lock.json
中删除了对 PACKAGE 的所有引用> - 已验证两个文件中均未引用
localhost
- 使用
rm -rf
删除了node_modules/PACKAGE_DIR
- 从
node_modules/.package-lock.json
中移除了 PACKAGE - 在构建树中搜索
.npmrc
和npmrc
,发现两个空文件:- node/node_modules/npm/docs/public/configuring-npm/npmrc
- 节点/节点模块/npm/.npmrc
- ~/.npmrc 有 2 个 CORRECT_URL 条目,格式如下:
- //:/:_authToken="
" - 注册表=http://:/
- //:/:_authToken="
最佳答案
在尝试调试完全相同的情况时偶然发现了这篇文章。最终为我解决这个问题的是取消 package-lock,运行 npm rebuild,然后运行 npm install --registry。希望这对以后的人有帮助!
关于NPM 坚持使用错误的注册表 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68616036/