绝对好使,我已经上传成功了
npm 发布成功后,cnpm 淘宝镜像不会立即同步,cnpm 没隔十分钟会高速同步 npm 相关更新内容
1.注册npm账号
在npm官网注册https://www.npmjs.com/
注意邮箱要验证,会发送验证链接到你的注册邮箱,没有验证的话是不能发布代码的
2.给你的代码库起个名字
名字不能重复,在官网查询下是不是重复,重复的包名不能提交
3.创建项目
需要一个package.json文件,这个文件不仅仅是用来标明依赖和npm script脚本,也可以是一个npm包被外界识别的配置文件。
因为配置文件内容比较多,可以选择自己手写,或者
npm init
根据提示写好你的信息,
name包名和main/bin对应你的包的入口文件
这里我的代码和github一起管理
author注意不要写错和你的npm账号一致
{
"name": "uploadimgcomponent",
"version": "1.0.0",
"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/calamus5927/uploadimgcomponent.git"
},
"keywords": [
"music",
"player",
"vue",
"calamus"
],
"author": "jasen222",
"license": "MIT",
"homepage": "https://github.com/calamus5927/uploadimgcomponent#readme",
"_from": "uploadimgcomponent@1.0.0"
}
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 你的包名字
6.常见问题
1.no_perms Private mode enable, only admin can publish this module
解决:这是因为镜像设置成淘宝镜像了,设置回来即可
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
解决:邮箱未验证,去官网验证一下邮箱