为什么 jsonlines 包被解析为 registry.npm.taobao.org?

Why does jsonlines package get resolved to registry.npm.taobao.org?

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

这是我包裹上的差异-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 注册表可能在 运行 npm install jsonlines 时设置为 registry.npm.taobao.org。一些用户将 npm 配置为使用地理邻近的淘宝注册中心。

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


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

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