npm私服必要性
1. 如果公司處於隱私保護的需要,不想將自己封的包推到npm社區,但又急需要一套完整的包管理工具來管理越來越多的組件,模塊,項目。對於前端,最熟悉的莫過於npm,bower等,但是bower的市場明顯沒有npm強大的,npm是前端包管理的不二選擇 。
2. 下過node庫的人都懂,從npmjs上下載有多慢,所以大家會用cnpm從淘寶那下,但有比淘寶更快的方法是從局域網的私服下。
3. 當我們搭好了這套私服管理工具之后有什么優勢呢?
- 私有包托管在我們的私服上,不對外。
- 項目中使用的所有包可以緩存在我們的私服上,然后大家下包的時候走私服,不用走npmjs了。速度快上七八倍不在話下。
- 對於下載和發布npm包都有了相應的權限管理。
npm私服搭建過程
1. 安裝node環境
2. 安裝verdaccio
npm install -g verdaccio --unsafe-perm (加上–unsafe-perm的原因是防止報grywarn權限的錯)
3. 修改配置文件,verdaccio所有配置文件都在這個文件中,配置文件中自帶注釋信息,配置文件目錄 /root/.config/verdaccio/config.yaml(備注:verdaccio 的特點是,你在哪個目錄運行,它的就會在對應的目錄下創建自己的文件)
4. 在配置文件最后添加監聽端口 listen: 0.0.0.0:8080
5. 啟動verdaccio,命令如下:
verdaccio
6. pm2守護verdaccio進程
利用第一種方法雖然可以正常啟動和使用verdaccio,但不建議用這種方式啟動verdaccio,我們可以用pm2來使用pm2對verdaccio進程進行托管啟動。
安裝pm2並使用pm2啟動verdaccio,使用pm2托管的進程可以保證進程永遠是活着的,嘗試通過kill -9去殺verdaccio的進程發現殺了之后又自動啟起來。推薦使用此種方式啟動verdaccio
# 安裝pm2
npm install -g pm2 --unsafe-perm
# 使用pm2啟動verdaccio
pm2 start verdaccio
# 查看pm2 守護下的進程verdaccio的實時日志
pm2 show verdaccio
# 實時查看該路徑下的日志命令
tail -f /home/admin/.pm2/logs/verdaccio-out-0.log
7. 添加用戶
npm adduser --registry http://192.168.XX.XX:8080 //后面是我們的私服地址 類似如下: Username: lk Password: Email: (this IS public) lk@qq.com Logged in as rong on http://192.168.XX.XX:8080/.
到這里npm私服搭建就完畢了然后在verdaccion啟動頁面嘗試登錄即可,默認登錄后有發布包的權限。(這里可以通過修改config.yaml配置文件來對權限進行設置)
備注:服務器中一定要安裝Python,版本必須大於2,因為verdaccio有用到python