nexus 上搭建npm本地服務器

nexus 純小白文,如有雷同,大概率我參考了你的文檔。

1.在本地運行nexus

附上下載鏈接:Nexus Repository OSS 下載鏈接
附上文檔鏈接:Nexus Repository OSS 文檔鏈接

有幾個值得注意的是

  • 我的 系統為 64位 win 7,平時只配置了java的基本環境,沒有配置編譯環境。很尷尬,配置javac耽誤了我一點時間。需要的同學,在運行之前 需要配置一下jre環境。

  • 我下載的是 nexus-3.5.0-02 這個版本。事實證明在win下雖然看起來一副人畜無害的樣子,似乎可以直接點擊安裝,但是事實上,嘖嘖嘖。

Paste_Image.png

這里沒有好好閱讀文檔,也消耗了我的一些時間,下面放出win 下正確啟動方法

// 在 \nexus-3.5.0-02\bin 目錄下執行
$ nexus.exe /run
  • 這里經測試 用win自帶的cmd,和budun都可以比較好的啟動,用git bash則啟動不是很好


    Paste_Image.png

啟動之后默認地址為 localhost:8081, 默認賬號密碼 admin/ admin123

Nexus Repository Manager 中添加 npm

如果點擊:

Paste_Image.png

這里有三個類型的npm選項:

Paste_Image.png

文檔中對這三個類型的倉庫有詳細的解釋:

Paste_Image.png

附上某歌翻譯:

Proxying npm Registries

為了減少開發人員和CI服務器的重復下載量并提高下載速度,您應該對托管在https://registry.npmjs.org上的注冊表進行代理。 默認情況下,npm直接訪問此注冊表。 您還可以代理您需要的任何其他注冊表。
要代理外部npm注冊表,您只需創建一個新的npm(代理),如“存儲庫管理”中所述。
最小配置步驟是:

Private npm Registries

私人npm注冊表可用于上傳您自己的軟件包以及第三方軟件包。 您可以通過在存儲庫管理器中設置npm格式的托管存儲庫來創建私有的npm注冊表。 為了這些目的,建立兩個獨立的托管存儲庫是一個很好的做法。
要創建具有npm格式的托管存儲庫,只需創建一個新的npm(托管),如“存儲庫管理”中所述。
最小配置步驟是:

  • 定義名稱
  • 選擇存儲的Blob存儲

隨著軟件包從存儲庫部署或刪除,npm注冊表信息將立即更新。

Grouping npm Registries

存儲庫組是將所有npm注冊表存儲庫從存儲庫管理器公開給您的用戶的推薦方式,而不需要任何其他客戶端配置。存儲庫組允許您將多個代理和托管存儲庫的聚合內容公開為一個URL到npm和其他工具。這可以通過創建一個新的npm(組),如“存儲庫管理”中所述,用于npm存儲庫。
最小配置步驟是:

  • 定義名稱
  • 選擇存儲的Blob存儲
  • 以所需的順序將npm存儲庫添加到成員列表中

典型的有用的示例是將代理存儲庫分組:代理npm注冊表,npm托管存儲庫與內部軟件包和另一個npm托管存儲庫與第三方軟件包。
使用存儲庫組的URL作為客戶端工具中的npm存儲庫URL,您可以使用一個URL訪問所有三個存儲庫中的軟件包。添加的任何新軟件包以及添加到組中的任何新存儲庫將自動可用。


  1. 創建 Proxying npm Registries 代理倉庫
Paste_Image.png
  1. 創建 Hosted npm Registries 代理倉庫
Paste_Image.png
  1. 創建 Grouping npm Registries 倉庫
    需要注意的是組倉庫要把之前的 proxy 和 hosted 都添加上。
Paste_Image.png

我的目錄對應為 mytest/myhost/mygroup

在home目錄下, 的.npmrc文件中添加 registry = http://localhost:8081/repository/npm-all/ 。這個路徑要和自己的路徑一致,并且最后的rep名要和group相同。

win下 home路徑:


Paste_Image.png

這時嘗試一下

// 查看一下 是否從本地服務器中下載
$ npm -loglevel info install grunt
圖片我抄的,我自己的沒截圖

此時可以驗證一下 是否依賴走了代理:

Paste_Image.png

設置權限

把這個選項拖到右邊就可以了

Paste_Image.png

在admin之外可以重新設置一個賬號,以及權限

Paste_Image.png
// 使用
$ npm login –registry=http://localhost:8081/repository/mygroup
// 進行登陸,需要填寫賬號、密碼以及郵箱。
Paste_Image.png

發布到hosted

我和原教程不一樣的是:我發布到本地hosted, 而不是直接到npm社區,這里需要注意的是 通過proxy是可以直接發布到npm社區的,使用的是社區的賬號密碼,這個需要提前申請

要發布的模塊,必須保證在根目錄下有package.json文件,否則會報錯。

pachage.json文件內容比較隨意,如果比較懶 可以用 npm init 直接自動生成。

  {
      "name": "myhost",
      "version": "1.0.0"
    }

然后執行發布命令:

 $ npm publish –registry http://localhost:8081/repository/myhost
Paste_Image.png

然后我遇到了報錯,按照報錯執行

 $ npm adduser –registry http://localhost:8081/repository/myhost

這里值得注意的是, adduser的時候要指明是哪個rep,要不就會add到默認的.npmrc 里添加的 rep中

Paste_Image.png

添加完用戶之后,再執行發布命令就ok了。

Paste_Image.png

package.json可以指定name 和version并且可以添加發布路徑的配置:

  {
     "name": "intro",
     "version": "1.0.0",
     "publishConfig" : {
         "registry" : "http://localhost:8081/repository/myhost/"
      }
  }

這樣的話發布直接用 npm publish就可以了。

發布之后可以在 系統中的 左側browse 中的assets中看到上傳的資源

Paste_Image.png

group 中可以同時看到 proxy 和 hosted 的資源, proxy會存下第一次下載過的目錄,之后再下載時走的是代理,hosted存的是本地上傳的包資源。

然后可以在本地下載一下剛才上傳到hosted的包:

Paste_Image.png

以上,為所有內容。

參考: npm 私服(上)npm 私服(下)nexus搭建npm私服
感謝以上朋友的文檔, 內容侵刪。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,702評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,143評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,553評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,620評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,416評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,940評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,024評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,170評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,709評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,597評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,784評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,291評論 5 357
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,029評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,407評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,663評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,403評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,746評論 2 370

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,776評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,597評論 25 707
  • 首先私服是一種衍生出來的特殊的Maven遠程倉庫,構建私服的好處請看3.5私服 可以幫助大家建立私服的倉庫管理軟件...
    zlcook閱讀 10,577評論 0 32
  • 國家電網公司企業標準(Q/GDW)- 面向對象的用電信息數據交換協議 - 報批稿:20170802 前言: 排版 ...
    庭說閱讀 11,045評論 6 13
  • 下屬不斷是問:XX,這個圖片拍的太差了。這個不是應該是XX來做的嗎? 于是,我們向上級也做這樣的反饋:這樣太煩了,...
    云韓閱讀 146評論 0 0