如何将Gemfury与Yarn一起用作私有npm注册表?

时间:2019-03-05 20:10:24

标签: npm yarnpkg gem-fury

我们正在尝试将Gemfury与Yarn结合使用,而不是NPM。我们已经配置了代理注册表URL,并登录了更新我们的.npmrc文件:

//npm-proxy.fury.io/mycompany/:_authToken=foobar
registry=https://npm-proxy.fury.io/mycompany/

此配置已经过测试,可以与NPM一起使用,既可以在Gemfury注册表中使用私有软件包,也可以在NPM注册表中使用公开软件包。例如,这两个过程都没有问题:

npm install express
npm install @mycompany/foobar

不幸的是,该配置根本无法与Yarn一起使用。在我们的Gemfury帐户之外的所有公共软件包在安装时均出现错误,并带有以下内容:

error An unexpected error occurred: "https://npm-proxy.fury.io/ourcompany/express: bad_request".

Error: Couldn't find package "output-file-sync@^2.0.0" required by "@babel/cli@^7.2.3" on the "npm" registry.

我希望这里只是缺少一些针对Yarn的配置步骤,但是我一直在仔细阅读文档,并且看起来好像真的没有什么不同,使用Yarn而不是NPM。

我在这里想念东西吗?

1 个答案:

答案 0 :(得分:0)

在进行了许多不同的配置和意图之后,我发现了一种适用于npmyarn的方法,没有任何问题。

npm config set @mycompany:registry https://npm-proxy.fury.io/mycompany/
npm config set //npm-proxy.fury.io/mycompany/:_authToken=${GEMFURY_TOKEN}
npm config set always-auth true

只需用您的特定令牌替换${GEMFURY_TOKEN}