【问题标题】:resolving NPM packages from a Bintray repo从 Bintray 存储库中解析 NPM 包
【发布时间】: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 进行测试

标签: npm bintray


【解决方案1】:

401 Unauthorized 错误通常发生在错误的用户 ID 或凭据使用时。 无论如何,这可能是缓存问题,您可以尝试先运行 npm cache clean 然后重新运行 npm install ,或者您可以尝试使用 npm install -verbose 来显示更多信息。

作为参考,以下.npmrc 文件有效:

@my-company:registry=api.bintray.com/npm/my-company/npm
//api.bintray.com/npm/my-company/npm/:_authToken=BINTRAY_API_TOKEN 
//api.bintray.com/npm/my-companyl/npm/:username=my.username 
//api.bintray.com/npm/my-company/npm/:email=my@email.com 
//api.bintray.com/npm/my-company/npm/:always-auth=true

【讨论】:

  • 或者你可以检查npmrc文件看起来像下面@my-company:registry=api.bintray.com/npm/my-company/npm //api.bintray.com/npm/my-company/npm/:_authToken=BINTRAY_API_TOKEN / /api.bintray.com/npm/my-companyl/npm/:username=my.username //api.bintray.com/npm/my-company/npm/:email=my@email.com //api.bintray .com/npm/my-company/npm/:always-auth=true
猜你喜欢
  • 2021-01-20
  • 2019-03-01
  • 1970-01-01
  • 2014-02-21
  • 2016-08-13
  • 2020-06-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多