使用sinopia搭建npm私有倉庫
sinopia 的優點:
- 配置簡單,對環境依賴少(僅 node 就夠了)
- 支援 windows 系統下執行
- 不需要資料庫,sinopia內建一個數據庫了
- 是比較主流的方案
1.安裝sinopia包
2.配置npm
3.啟動sinopia,自動生成的工作目錄如下
(通過第一個warn可以看到具體路徑):
4.開啟這個檔案,config.yaml預設配置
如下圖
5.開啟瀏覽器地址 http://localhost:4873/
就可以看到如下內容
表示我們私有的庫已經搭建好了
6.接下來我們就向庫裡面上傳npm包
7.npm官網建立npm賬戶
npm網站地址:https://www.npmjs.com/
npm網站註冊地址:https://www.npmjs.com/signup
8.命令列登入
9.驗證登入是否成功
表示登入成功了。
10.建立npm庫
11.按照提示輸入相應內容
12.可以看到目錄下增加了一個配置檔案
13.檢視配置檔案
14.同級目錄下新建index.js並編寫內容
15.到這裡我們一個簡單的npm包就建立完成了,接下來我們來發布npm包
16.釋出npm包
17.驗證是否釋出成功
換一個目錄,下載我們剛剛釋出的npm包
檢視下載結果,下載成功
說明剛剛已經發布成功了
18.修改監聽埠
監聽埠預設沒有,只能在本機訪問,新增後可以通過外網訪問。
19.團隊使用
(1)安裝nrm換源工具
npm install -g nrm
(2)新增私有的NPM倉庫映象地址
nrm add name http://XX.XXX.XX.XX:4873
(3)檢視映象地址列表
nrm ls 檢視可用倉庫
(4)使用本址的映象地址
nrm use name
(5)安裝依賴
npm install 依賴名
例如:npm install chenna_npm
(6)依賴成功,本地成功安裝依賴包
20. 版本更新
npm version <update_type> -m "<message>"
其中update_type 有三種:
patch
增加一位補丁號(比如 1.1.1 -> 1.1.2)
minor
增加一位小版本號(比如 1.1.1 -> 1.2.0)
major
增加一位大版本號(比如 1.1.1 -> 2.0.0)
比如:
npm version patch -m "Version %s - v1.0.2"
最後提交更新的版本:
npm publish
21. 捨棄某個版本的模組
npm deprecate [email protected]"< 1.0.2" "critical bug fixed in v1.0.2"
22. 撤銷自己釋出的版本。
這只是一個測試的包,最好當然還是撤銷下來
//刪除要用force強制刪除。超過24小時就不能刪除了。自己把握好時間。
npm --force unpublish chenna_npm
23. 注意事項
a.釋出的時候用國內映象會報錯,我們應使用預設的:
npm config set registry http://registry.npmjs.org
b.npm包package.json中registory屬性一定要填寫,每次publish npm時package.json中version版本一定要大於上一次。
c.npm publish failed put 500 unexpected status code 401這樣的報錯資訊,往往是沒有登入成功,操作npm login
d.npm包的name是唯一的,如果有同名,釋出時會報錯
24.最後推薦一個網址
http://javascript.ruanyifeng.com/nodejs/npm.html#toc19