NPM 坚持使用错误的注册表 URL

ash*_*ash 9 registry npm

使用 NPM 安装依赖项,包括存储在本地运行的 Verdaccio 中的依赖项。

不知何故,NPM 在尝试从本地主机加载 Verdaccio 依赖项时卡住了,即使已经运行了从正确位置安装的命令npm install --save --registry http://CORRECT-URL ...

使用rm -rf node_modules package-lock.json并删除依赖项package.json,然后再次运行安装 - 仍然不起作用。每次安装命令完成时,package-lock.json仍然使用localhost解析注册表。

从 localhost 中删除~/.npmrc并运行npm set registry http://CORRECT-URL也没有帮助。

请帮忙。NPM在哪里记住localhost并坚持使用它???

更新- 使用npm install -ddd

尝试使用npm install -ddd查看 npm 在哪里获取包。输出显示了 CORRECT-URL,但完成后,package-lock.json仍然列出localhost.

请注意以下所有事项:

  • 删除了对 PACKAGE 的所有引用package.jsonpackage-lock.json
  • localhost已验证两个文件中都没有引用
  • 删除node_modules/PACKAGE_DIRrm -rf
  • 删除了包node_modules/.package-lock.json
  • 在构建树中 搜索.npmrc和,发现两个空文件:npmrc
    • 节点/node_modules/npm/docs/public/configuring-npm/npmrc
    • 节点/node_modules/npm/.npmrc
  • ~/.npmrc 有 2 个 CORRECT_URL 条目,格式如下:
    • //:/:_authToken="<AUTH_TOKEN>"
    • 注册表=http://:/

小智 2

在尝试调试完全相同的情况时偶然发现了这篇文章。最终为我解决这个问题的是吹掉包锁,运行 npm rebuild,然后 npm install --registry 。希望这对将来的人有帮助!