npm私服搭建的必要性
私有包託管在我們的私服上,不對外。
專案中使用的所有包可以快取在我們的私服上,然後大家下包的時候走私服,不用走npmjs了。速度快上七八倍不在話下。
搭建過程
叨叨了這麼半天,終於開始進入正題,有木有很期待。
伺服器搭建
安裝命令:解壓安裝就好,版本號自己變一下,然後配置一下環境變數,比較簡單這裡不多說了。
tar -xvf node-v8.9.1-linux-x64.tar.gz
2.安裝verdaccio
加上–unsafe-perm的原因是防止報grywarn許可權的錯。
npm install -g verdaccio --unsafe-perm
3. 配置
vim /home/admin/.config/verdaccio/config.yaml
在配置檔案最後新增監聽埠,配置檔案詳解請見文末尾
listen: 0.0.0.0:4873 # listen on all addresses
3.2. 對外開放4873埠
verdaccio繼承了sinopia,埠號4873依然不變。
firewall-cmd --state # 先檢視防火牆狀態,
service firewalld start # 開啟防火牆:
firewall-cmd --zone=public --add-port=4873/tcp –permanent #開放4873埠
firewall-cmd --reload #重新載入
firewall-cmd --zone=public --query-port=4873/tcp #檢視是否新增成功
4.啟動verdaccio
4.1.verdaccio直接啟動
命令:verdaccio
// 顯示資訊,
第一句是配置檔案的位址,
第二句,給了我們位址,訪問便可以看到我們的私服已經搭建成功了。
目前還沒有往上發布過包,所以沒有任何包的資訊。當我們開啟頁面還可以看到伺服器這邊有訪問記錄,控制台的日誌一直在打。
4.2 pm2守護verdaccio程序
利用第一種方法雖然可以正常啟動和使用verdaccio,但不建議用這種方式啟動verdaccio,我們可以用pm2來使用pm2對verdaccio程序進行託管啟動。
安裝pm2並使用pm2啟動verdaccio,使用pm2託管的程序可以保證程序永遠是活著的,嘗試通過kill -9去殺verdaccio的程序發現殺了之後又自動啟起來。推薦使用此種方式啟動verdaccio.
4.2.1安裝pm2
npm install -g pm2 --unsafe-perm
4.2.2使用pm2啟動verdaccio
pm2 start verdaccio
4.2.3 檢視pm2 守護下的程序verdaccio的實時日誌
pm2 show verdaccio
通過這個命令我們可以從下圖中看到所有verdaccio的所有資訊,開啟 out log path檢視程序輸出日誌,出現錯誤時候也可以開啟error log來檢視錯誤日誌。
實時檢視該路徑下的日誌命令:
tail -f /home/admin/.pm2/logs/verdaccio-out-0.log
新增使用者
npm adduser --registry //後面是我們的私服位址
類似如下:
username: lk
password:
email: (this is public) [email protected]
logged in as rong on /.
然後在verdaccion啟動頁面嘗試登入即可,預設登入後有發布包的許可權。(這裡可以通過修改config.yaml配置檔案來對許可權進行設定)、
到這裡伺服器端的搭建就完畢了,下篇我們來介紹客戶端如何使用。
搭建NPM私服
由於網上文件所採用的nodejs和cnpm版本過老,包括github官網,都有或多或少的問題,最終經過折騰和整理形成這篇文件,文件中資料庫選用mysql,架設nginx 非必需。1.安裝nodejs wget tar jxf node v6.4.0 linux x64.tar.xz useradd ...
搭建npm私服
參考文件 搭建好nexus 3 1.建立nx deployer 角色 2.建立deployer 使用者 密碼也為 deploye 3.分別建立npm的hosted proxy和group分別為下面三幅圖 auth是 username password 的base64值 以上是可以publish的最低...
搭建npm私服
npm私服建立流程 一 前言 模組化 元件化方案在各個領域討論的都很火熱,在專案開發與團隊協作中常常因為專案的迭代導致需要對現有專案進行模組拆分,network router storage 更有各個基礎元件的統一管理,這時就可以使用npm工具。而公司出於自身隱私保護需要,不能把 開源到包管理區,這...