我已經配置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
NPM客戶端是否必須通過代理傳遞到Artifactory? – 2015-02-23 15:48:13
不,npm直接連接到Artifactory,代理位於Artifactory後面。我們在3.2.0之前得到了Artifactory更新到3.4.2,並且一切都很好。 – user1706507 2015-02-24 10:13:53
當存儲庫URL與註冊表返回的基礎tarball不匹配時,可能會發生這種情況。 Artifactory遠程存儲庫使用哪個URL?你可以直接運行相同的npm info命令(繞過Artifactory)並檢查tarball URL嗎? – 2015-02-25 09:37:59