手把手教你用npm釋出包
一、釋出一個新包
第一步:進入要釋出的專案根目錄,初始化為npm包:
npm init
依次按提示填入包名、版本、描述、github地址、關鍵字、license等
這步完成之後會生成一個package.json檔案,上面輸入的這些資訊可以在該檔案中修改
注意:如果你的包引用了第三方包,則需要在package.json檔案種增加dependencies節點,寫入依賴的包及版本
"dependencies": {
"colors": "^1.3.2",
"on-finished": "^2.3.0"
}
第二步、註冊npm使用者,有兩種方法
方法一、npm官網註冊:
方法二、使用npm 命令註冊:npm adduser
注意:如果使用者名稱被別人註冊過,那麼回報如下錯誤:
Unable to authenticate, need:Basic
注意:用第二種方法註冊的使用者登入後,釋出包時候會報如下錯,只能使用方法一,去官網註冊
'mypackage1' is not in the npm registry.
第三步、賬號登入
npm login
依次輸入第二步中第一種方法註冊的使用者名稱、密碼和郵箱
第四步、釋出包,上傳到npm包伺服器
npm publish
注意:如果報錯:'You do not have permission to publish "mypackage1". Are you logged in as the correct user?'
表示包’mypackage1‘已經在包管理器已經存在被別人用了,需要更該包名稱
包名改為:mypackage_tao,再次釋出
’+’符合表示釋出成功了
可以去自己的npm主頁上驗證以下,可以看到包mypackage_tao已經在列表中了
注意:如果釋出時報錯:‘no_perms Private mode enable, only admin can publish this module:’
表示當前不是原始映象,可能用的是其他映象,如淘寶映象,
要切換回原始的npm映象,命令:npm config set registry https://registry.npmjs.org/,如果用了nrm工具,使用命令:nrm use npm 切換
至此,釋出自己的一個新包已經大功告成了,然後別人就可以通過npm install mypackage_tao 來安裝你的包了。後續包要更新怎麼辦呢?往下看
二、更新一個已經發布的包
第一步、修改包的版本
:這次我在包根目錄下新加了一個index.js檔案
npm version patch 該命令在原來的版本上自動加1,實際上是將package.json檔案中的version值修改了。
第二步、重新發布包
npm publish
可以看到,已經有兩個版本了
如果我發現版本1.0.1有bug,要刪除,怎麼辦呢?往下看
三、刪除包
1、刪除指定的版本
npm unpublish 包名@版本號
可以看到版本V1.0.1已經刪除
2、刪除整個包
npm unpublish 包名 --force
會有警告提示
可以看到包mypackage_tao已經刪除了