【问题标题】:Why does jsonlines package get resolved to registry.npm.taobao.org?为什么jsonlines包会解析到registry.npm.taobao.org?
【发布时间】:2020-11-09 17:23:03
【问题描述】:

当我安装 npm 包jsonlines 时,它会解析为镜像注册表registry.npm.taobao.org 而不是registry.npmjs.org。它只对jsonlines 执行此操作。这是什么原因造成的?

这是我的 package-lock.json 的差异。原来的“resolved”值是在另一个开发者安装包时创建的:

     "jsonlines": {
       "version": "0.1.1",
-      "resolved": "https://registry.npmjs.org/jsonlines/-/jsonlines-0.1.1.tgz",
+      "resolved": "https://registry.npm.taobao.org/jsonlines/download/jsonlines-0.1.1.tgz",
       "integrity": "sha1-T80kbcXQ44aRkHxEqwAveC0dlMw="
     },

我确认我配置的注册表是 npmjs.org:

$ npm config get registry
https://registry.npmjs.org/

【问题讨论】:

标签: npm jsonlines


【解决方案1】:

开发人员的 npm 注册表在运行 npm install jsonlines 时可能设置为 registry.npm.taobao.org。一些用户已将 npm 配置为使用淘宝注册以获取地理邻近性。

删除 node_modulespackage-lock.json 并重新运行 npm install 修复它。


提示:使用lockfile-lint 防止再次发生。

  1. npm install --save-dev lockfile-lint
  2. 在您的 lint 脚本中运行 lockfile-lint,最好是在 pre-push git 挂钩中。
  3. 将此配置添加到您的package.json
  "lockfile-lint": {
    "allowed-schemes": [
      "https:"
    ],
    "allowed-hosts": [
      "npm"
    ],
    "empty-hostname": false,
    "type": "npm ",
    "path": "package-lock.json"
  },

【讨论】:

  • 感谢您的解决方案!在 github issue 中也找到了您的评论 ^_^ 删除 node_modulespackage-lock.json 并重新运行 npm install 确实为我解决了这个问题!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-15
  • 1970-01-01
  • 2015-02-28
  • 1970-01-01
  • 2018-08-01
  • 2018-07-17
相关资源
最近更新 更多