假設該待發布包在你本地的項目爲 project1git
在發佈以前每每但願在本地進行安裝測試。那麼須要一個其餘的項目來本地安裝待發布項目。npm
假設該其餘項目爲project2。假設project2和project1在同一級目錄下。json
cd project1 npm link
cd project2 npm install '../project1'
這樣就只須要在其餘項目中只安裝一次project1,由於安裝的是指向project1的符號連接包,其一直指向真實的project1。若是project1被修改,那麼project2依賴的project1也是被修改後的。測試
要先解除對該project1的link:code
cd project1 npm unlink
再手動刪除project2下的project1的符號連接包。若是不這樣清除,在project1發佈後,project2想要安裝npm倉庫中的project1就不能成功。ci
待弄懂此塊兒link的原理及爲何要這樣才能清除get
cd project1 git add . git commit -m "xxx"
npm version major/minor/patch
package.json會改變version字段值,而後也會自動加一個git的tag,同時也會增長一個commit(加上步驟1的commit,不出意外的話此時本地有2個commits等待push)。假設version 字段自動變爲1.3.4。cmd
另外,此處git若是想手動打標籤能夠這樣(當只想發佈git release卻不想更新npm的時候能夠這樣)it
git tag -a v1.3.4 -m 'my version 1.3.4'
最好是保持npm的版本和git release的版本一致,因此有必要先將git tag發佈出來:io
git push git push origin v1.3.4 //此時自動執行ci測試
若是想要一次同時推送branch和tag:
git push origin master --tags
參見https://www.git-scm.com/docs/git-push
The new "--follow-tags" option tells "git push" to push relevant annotated tags when pushing branches out.
This won't push all the tags, but only the ones accessible from the branch(es) HEAD(s) you are pushing.
若是是該包第一次發佈:
npm whoami //驗證你的憑據已存儲在客戶端 npm publish --access=public //若是是公開包這樣發佈,若是不是公開的包則去掉--access=public便可
若是是該包已經發布過,如今只是更新:
npm publish
而後去npmjs.com看一下你的包是否已經發布/更新
cd project2 npm install project1 --save