寫了代碼如何發布到npm包?
示例
1.注冊npm賬號
在npm官網注冊https://www.npmjs.com/
注意郵箱要驗證,會發送驗證鏈接到你的注冊郵箱,沒有驗證的話是不能發布代碼的
2.給你的代碼庫起個名字
名字不能重復,在官網查詢下是不是重復,重復的包名不能提交
3.創建項目
需要一個package.json文件,這個文件不僅僅是用來標明依賴和npm script腳本,也可以是一個npm包被外界識別的配置文件。
因為配置文件內容比較多,可以選擇自己手寫,或者
npm init
根據提示寫好你的信息,以我的為例:name包名和main/bin對應你的包的入口文件,這里我的代碼和github一起管理,author注意不要寫錯和你的npm賬號一致
{
"name": "calamus-vue-music",
"version": "0.0.2",
"description": "a vue music player",
"main": "music.vue",
"bin": "music.vue",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"repository": {
"type": "git",
"url": "git+https://github.com/calamus0427/calamus-vue-music.git"
},
"keywords": [
"music",
"player",
"vue",
"calamus"
],
"author": "calamus",
"license": "MIT",
"bugs": {
"url": "https://github.com/calamus0427/calamus-vue-music/issues"
},
"homepage": "https://github.com/calamus0427/calamus-vue-music#readme",
"_from": "calamus-vue-music@0.0.1"
}
4.本地測試
npm pack
會生成一個 tgz版本文件
打開一個新的項目,路徑為剛剛生成的路徑
npm install 路徑/文件-1.0.0.tgz
5.提交發布
先登錄你的賬號
$ npm adduser Username: your name Password: your password Email: yourmail
按照你注冊的賬號配置好,這時候看一下package.json中author盡量與npm賬戶一致。
在根目錄下配置賬號信息,只用配置一次即可,我上傳的時候發現有提示必須admin權限才能上傳問題就是沒在根目錄下配置信息
檢查是否登錄成功
npm who am i
# 如果不成功則重新登錄一下
npm login
配置成功之后提交代碼
npm publish
如果提交成功會出現如下提示:
注意每次提交版本號都要比上次的高
5.測試是否提交成功
去官網你的賬號下面看一下有沒有
或者直接npm下載下來
npm install calamus-vue-music --save
一些常見的錯誤:
- 1.no_perms Private mode enable, only admin can publish this module
這是因為鏡像設置成淘寶鏡像了,設置回來即可
npm config set registry http://registry.npmjs.org
-
2.npm publish failed put 500 unexpected status code 401
一般是沒有登錄,重新登錄一下 npm login 即可 -
3.npm ERR! you do not have permission to publish “your module name”. Are you logged in as the correct user?
包名被占用,改個包名即可。最好在官網查一下是否有包名被占用,之后再重命名 -
4.you must verify your email before publishing a new package
郵箱未驗證,去官網驗證一下郵箱