为什么NPM从私有注册表而不是从Registry.npmjs.org安装软件包

时间:2020-05-21 07:38:35

标签: npm npm-install

我在项目目录中创建了一个.nmprc文件,如下所示:

@mycompany:registry=https://registry.mycompany.com/

但是,当我执行npm install时,我发现不是从@mycompany开始的软件包依赖项也从https://registry.mycompany.com/而不是https://registry.npmjs.org/安装了。

这是我在package-lock.json中看到的:

"yaml": {
  "version": "1.7.2",
  "resolved": "https://registry.mycompany.com/yaml/-/yaml-1.7.2.tgz",
  "integrity": "sha512-qXROVp90sb83XtAoqE8bP9RwAkTTZbugRUTm5YeFCBfNRPEp2YzTeqWiz7m5OORHzEvrA/qcGS8hp/E+MMROYw==",
  "dev": true,
  "requires": {
    "@babel/runtime": "^7.6.3"
   }

让我知道我在这里缺少什么设置。

1 个答案:

答案 0 :(得分:0)

由于您使用的是.npmrc文件,因此命令$1将尝试在公司注册表npm install中查找所有软件包

如果要安装所有其他软件包,则需要按照以下说明更新.npmrc文件。

您当前的.npmrc文件:

https://registry.mycompany.com/

更新版本

@mycompany:registry=https://registry.mycompany.com/

@mycompany:registry=https://registry.mycompany.com/

如果您运行registry=https://registry.npmjs.org,它将从您的公司注册表中安装所有带有npm install标志的软件包,并且它将尝试从公共npm注册表中安装所有其他软件包。

如果这对您有帮助,请告诉我。