写了代码如何发布到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
邮箱未验证,去官网验证一下邮箱