【发布时间】:2019-01-02 18:30:15
【问题描述】:
我在 Bintray 上创建了一个私有 NPM 存储库。我已通过运行将必要的身份验证凭据添加到~/.npmrc
curl -u BINTRAY_USER:BINTRAY_API_TOKEN
https://api.bintray.com/npm/my-company/npm/auth/scope/my-company > ~/.npmrc
我已成功将名为 foo 的包的 1.0.0 版部署到此 NPM 存储库,并将其作为依赖项添加到另一个项目的 `package.json
"dependencies": {
"@my-company/foo": "1.0.0"
}
但是当我在这个项目中运行 npm install 时,我得到一个 404 错误
npm ERR! code E401
npm ERR! 401 Unauthorized: @my-company/foo@1.0.0
登录Bintray应用可以看到foo的1.0.0版本已经部署,为什么解析失败?
【问题讨论】:
-
您是否在正确的 .npmrc 文件中设置了作用域包的注册表,即
@my-company:registry=...。看起来您已将新注册表添加到位于包@my-company/foo本身中的 .npmrc 文件中,但尚未将其添加到 .npmrc 中依赖于@my-company/foo的项目。可能也值得尝试后者。想必你已经关注了这些docs? -
@RobC 我已将注册表添加到
~/.npmrc,即我的主目录中的.npmrc文件。我假设所有项目都可以看到这个文件中的条目? -
是的,理论上将注册表添加到
~/.npmrc应该没问题。也许尝试per-project config file,即在依赖@my-company/foo的项目根目录中添加一个.npmrc文件(带有key = value作为注册表集),例如:path/to/my/other/project/.npmrc.然后重新运行npm install。 警告;不幸的是,我无法使用 Bintray 进行测试