2017-01-09 79 views
12

我試圖訪問在遠程服務器中承載的私人npm註冊表。我必須使用用戶名和密碼訪問它。我身邊沒有代理人。npm私人註冊表用戶名和特殊字符

但是,我使用的用戶名和密碼有URL不安全的字符。我試過addusernpmjsscl但我無法配置憑據:

npm WARN Name may not contain non-url-safe chars 

我試着設置NPM_USERNPM_PASS直接在命令行。我可以設置前者,但後者失敗。即使我用一個簡單的密碼,並嘗試:

npm login 

它失敗,出現同樣的錯誤,因爲NPM_USER有我使用npmrc公共和私有註冊之間切換的@

。我想避免像Nexus/JFrog這樣的工具。

NPM版本 - 4.0.5操作系統是Windows 7

缺少什麼我在這裏?

+1

我找到過,我試圖逃避'@'和'% 40',但它也沒有幫助。 – jediz

+0

同樣的問題,找到了解決辦法? –

+0

這可能是你的npm私人回購有'@'符號的用戶名的問題。這是另一個系統的npm插件? – Danosaure

回答

1

你只需要正常登錄而不用'@'。不幸的是,它很難在npm上找到這些信息。發佈軟件包時需要使用@符號。

如果這是一個公共組織,比如我有一個組織名稱「@seatbelt」,所以我發表下一個包的名稱是「@安全帶/芯」。該軟件包通過輸入「npm install @ seatbelt/core」進行安裝。

如果這是隻爲你親自發布專用包,你發佈的私人包名的格式以「@用戶名/項目名稱」。就像上面的例子中,一旦公佈,你可以通過做「故宮安裝@用戶名/項目名稱」安裝包

更多信息可以在https://docs.npmjs.com/private-modules/intro