npm發佈包的那些事

npm發包的那些事

最近一直在研習關於node的知識,發佈包雖然是最基礎的一點,但由於一些地方的不注意很容易發生錯誤,我整理了我可能出現過的一些發佈包的過程中的一些error,現在分享給大家:

正確的發包步驟:

  • 執行npm init,生成package.json。package.json字段多且雜,我們最好讓關鍵的部分交由系統幫我們生成,這樣的話,採用npm init是最正確的辦法。它以問答的形式獲取一些重要的信息,然後生成package.json。

不夠清楚?上圖
圖片描述

  • 執行npm adduser,接下來會以問答的形式向你瞭解你的用戶名、密碼以及公開的郵箱。如果沒有執行這些操作,直接上npm publish的話,會報一個錯誤這時關鍵部分來了!
npm ERR! need auth auth and email requiredfor publishing

npm ERR! need auth You need to authorize this machine using npm adduser

錯誤。

npm ERR! publish Failed PUT 403
npm ERR! Error: no_perms Private modeenable, only admin can publish this module: nodebb-plugin-route-cms
有至少兩種方法:命令:npm adduser
1)修改~/.npmrc中的registry字段(命令:vi ~/.npmrc)
2)直接在命令行修改即可。

不夠清楚?繼續上圖!
圖片描述

  • 在執行npm publish的時候,因爲要訪問~/.npm這個目錄,不知怎麼回事(權限應該正確的啊),需要以root賬戶權限執行才行。因此這裏要加上sudo。如果不加上sudo的話,會出現這樣的錯誤:

npm ERR! addLocal Could not install .
npm ERR! Error: EACCES, open'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json'
npm ERR! { [Error: EACCES, open'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json']
npm ERR!  errno: 3,
npm ERR!  code: 'EACCES',
npm ERR!  path:'/home/jiangcaiyang/.npm/nodebb-plugin-route-cms/0.0.1/package/package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
--tag的意思是標記版本號。這裏按照semver的標準來制定版本(參考這裏)
版本格式:主版號.次版號.修訂號,版號遞增規則如下:

主版號:當你做了不相容的API 修改,

次版號:當你做了向下相容的功能性新增,

修訂號:當你做了向下相容的問題修正。

先行版號及版本編譯資訊可以加到「主版號.次版號.修訂號」的後面,作爲延伸。

最後繼續以一張圖片來結尾,結束我們的這次分享

在大型項目的建設過程中,很多細小的錯誤都會讓我們花費巨大的時間成本去完成,所以如果能夠提前知道防患於未然就顯得尤爲重要了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章