使用cnpm搭建私有NPM倉庫 釋出npm包
關於如何使用cnpm搭建私有的npm倉庫看這裡→ http://blog.fens.me/nodejs-cnpm-npm/
我本人還沒有機會真正實踐操作過,公司的npm倉庫是我老大搭建的,我這裡僅僅記錄關於如何釋出npm包以及在這過程中出現的問題以及解決的方案。
因為官方的npm上的模組是完全開源,但是公司自己專案有些模組與業務或者邏輯以及一些配置模組肯定不能開源啊,所以需要搭建私有的npm倉庫。
1.準備工作
首先安裝好npm 以及 cnpm 。
現在安裝node.js 裡會一起安裝好npm。
然後安裝cnpm 並且設定為公司地址
npm install -g cnpm --registry=http://192.168.1.xxx:xxxx/
2.伺服器配置賬號
然後管理員在伺服器上新增管理員賬號,並將賬號加入到maintainers 中
3.npm adduser
首先輸入
npm adduser
接著會出現
username:輸入管理員在伺服器給你設定的使用者名稱
Password:密碼自行設定
Email:在伺服器給這個賬號設定的郵箱
新增成功後在這個路勁C:\Users\使用者名稱\下會有一個.npmrc檔案
裡面內容大概如下圖所示
4.npm login
登入賬號
npm login
依次輸入剛才新增的賬號資訊
username:使用者名稱
password:密碼
email:郵箱
登入成功結果:
錯誤登陸情況:
npm ERR! network connect ETIMEDOUT 192.168.1.218:7001
npm ERR! network This is most likely not a problem with npm itself
npm ERR! network and is related to network connectivity.
npm ERR! network In most cases you are behind a proxy or have bad network settings.
npm ERR! network
解決:
伺服器問題,檢查伺服器是否啟動
5.cnpm publish
提交版本ctrl+shift+B 編譯後,再修改package.json 的版本號,接著在終端輸入 :
cnpm publish
如果是成功提交顯示這樣的結果
+ @test/core1.0.2 大概顯示這樣的表示提交成功
未能提交成功情況
1. forbidden user hea not authorized to modify @test/core, please contact maintainers: admin: @test/core
解決:管理員還沒有將你的賬號新增到maintainers 中。
2.forbidden cannot modify pre-existing version: 1.0.10: @test/core
解決:沒有修改版本號就提交了
3.no_perms Private mode enable, only admin can publish this module: @test/core
解決:賬號不是管理員在伺服器新增的賬號
6.安裝提交上去的npm包
在專案中 請先注意你的registry是否指向公司的倉庫地址
你可以先 npm config get registry 檢視一下 確認沒錯了
npm install @tes/core
安裝完成
2018年11月23號更新
關於如何搭建私有倉庫的請看這個
npm私有倉庫 配置verdaccio在docker環境
此隨筆乃本人學習工作記錄,如有疑問歡迎在下面評論,轉載請標明出處。
如果對您有幫助請動動滑鼠右下方給我來個贊,您的支援是我最大的動力。
更多專業前端知識,請上 【猿204