關於如何使用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環境
此隨筆乃本人學習工作記錄,如有疑問歡迎在下面評論,轉載請標明出處。
如果對您有幫助請動動鼠標右下方給我來個贊,您的支持是我最大的動力。
