2016-11-28 87 views
7

我想在我們的環境中安裝Yarn 0.17.9,但是我的註冊表出現問題。我們目前正在使用兩個註冊管理機構,官方npmjs和我們自己的內部網絡註冊機構(Sinopia)。如何在紗線中使用多個npm註冊表?

問題是我們正在使用內部工具通過npm install通過--registry標誌從其中一個或另一箇中取出軟件包。 yarn add沒有--registry選項,我無法設置全局自定義註冊表,並退回到npmjs。我試過.npmrc,但它只爲項目中的npm/yarn設置了一個註冊表。 .yarnrc似乎並沒有工作,由.npmrc

沉默有什麼辦法來指定兩個註冊表(退回到第二個註冊表如果包沒有在第一個發現的)?或者爲每個包指定不同的npm註冊表?

回答

3

紗不具備支持--registry標誌作爲NPM,但你可以設置你的註冊表中.yarnrc

如果被忽略了你的.yarnrc它可以被複製出來的〜/ .yarnrc使用:

yarn config set registry http://registry.com/registry// 
+2

問題是我需要設置兩個註冊表,一個用於我們的內部服務器,另一個用於registry.npmjs.org。我試圖列出紗線的配置,並在我們的內部服務器上設置註冊表,並在npm信息下注冊表是npmjs.org。然而,當我嘗試'紗添加內包'紗線嘗試npmjs.org並失敗。 – kraklin

+0

@kraklin像Gemfury這樣的託管倉庫解決這個問題的方法是將所有私有空間中不存在的回購請求代理到'https:// registry.npmjs.org /'。你可以做類似的事情 – hampusohlsson

+0

@hamohl是的,我們用我們的Sinopia試了一下,不幸的是這個設置在我們的網絡中不起作用,所以我們關掉了代理選項,並保留了兩個註冊表的自定義設置。 – kraklin

0

@kraklin您可以在項目根目錄中使用.yarnrc文件,並在該文件中寫入此行。

註冊表 「https://registry.npmjs.org/

這將作爲項目的具體信息庫。看看我用這個。