2015-02-23 82 views
3

我已經配置artifactory的和NPM背後代理工作:NPM安裝未隨artifactory的工作背後的代理

npm config set registry http://myserver:8081/artifactory/api/npm/npmjs

當我打電話npm info bower它工作正常,但壓縮檔的URL看起來已經suspicous:{ tarball: 'http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz', shasum: '37de0edb3904baf90aee13384a1a379a05ee214c' }

npm install bower由於錯誤的tarball URL而失敗。這是我的NPM-的的debug.log的初步認識輸出:

34 silly mapToRegistry registry http://myserver:8081/artifactory/api/npm/npmjs 
35 silly mapToRegistry uri http://myserver:8081/artifactory/api/npm/npmjs/bower 
36 verbose addRemoteTarball http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz not in flight; adding 
37 verbose addRemoteTarball [ 'http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz', 
37 verbose addRemoteTarball '37de0edb3904baf90aee13384a1a379a05ee214c' ] 
38 info retry fetch attempt 1 at 11:39:11 
39 info attempt registry request try #1 at 11:39:11 
40 http fetch GET http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz 
41 http fetch 404 http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz 
42 error fetch failed http://myserver:8081/artifactory/api/npm/npmjs/registry.npmjs.org/bower/-/bower-1.3.12.tgz 

URL中的部分registry.npmjs.org是錯誤的,正確的壓縮包的網址應該是這樣:http://myserver:8081/artifactory/api/npm/npmjs/bower/-/bower-1.3.12.tgz。從這個URL我可以下拉手動使用捲曲tarball。

任何想法,如果我配置了錯誤的東西或如果有錯誤的地方?

Artifactory的v3.4.2,NPM V2.5.1

+0

NPM客戶端是否必須通過代理傳遞到Artifactory? – 2015-02-23 15:48:13

+0

不,npm直接連接到Artifactory,代理位於Artifactory後面。我們在3.2.0之前得到了Artifactory更新到3.4.2,並且一切都很好。 – user1706507 2015-02-24 10:13:53

+0

當存儲庫URL與註冊表返回的基礎tarball不匹配時,可能會發生這種情況。 Artifactory遠程存儲庫使用哪個URL?你可以直接運行相同的npm info命令(繞過Artifactory)並檢查tarball URL嗎? – 2015-02-25 09:37:59

回答

1

它可以發生時應代理npmjs註冊表正在錯誤的URL指向遠程儲存器(例如http://registry.npmjsCOM,而不是.org)處理。

0

你Artifactory的前端顯示故宮配置

正確的字符串這是否匹配你的跑步?

我的是這樣

#Add this registry URL to your ~/.npmrc or use: 
npm config set registry http://serverName:8081/artifactory/api/npm/npmjs 

我只是想知道如果遠程回購的配置,那麼在Artifactory的

另一種選擇是嘗試轟擊在故宮遠程回購緩存正確

Artifactory系統日誌中是否有任何信息顯示它試圖做什麼?