上传npm包
需要 npm 账号
常用 npm 命令
1
2
3
4
5
6
7
8
9
10
11
12
13# 登录 npm
npm login
# 发布 npm 包
npm publish
# 撤销发布整个包
npm unpublish demo1 --force
# 撤销发布指定版本
npm unpublish demo1@1.0.0 --force
# 撤销发布提醒
npm deprecate demo1 "this project is deprecated"
手动上传 npm 包
使用
npm init
初始化项目在
package.json
中添加发布配置, 使包公开, 私有包需要付费1
2
3"publishConfig": {
"access": "public"
}完整
package.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14{
"name": "@zxiaosi/demo1",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"description": "",
"publishConfig": {
"access": "public"
}
}建议
package.json
中name
加上 npm 账户前缀, 避免与其他包重名, 防止上传报错创建
index.js
文件 (与package.json
中main
路径一致)1
2
3!(function () {
console.log('我是demo1测试包!');
})();完整目录结构
1
2
3-- demo1
|-- index.js
|-- package.json更换默认 npm 源
https://registry.npmjs.org/
, 否则会一直提示登录!!!1
npm config set registry https://registry.npmjs.org
先执行
npm cache clean --force
删除缓存 (重要!)然后执行
npm login
登录 npm 账号 (这里需要游览器验证)最后执行
npm publish
发布 npm 包在 npm 官网查看发布的包
发布成功后,可以通过
npm install @zxiaosi/demo1
安装包撤销发布的包
1
2
3
4# 撤销发布整个包
npm unpublish demo1 --force
# 撤销发布指定版本
npm unpublish demo1@1.0.0 --force
使用 father 上传 npm 包
当包比较复杂时,可以使用
father
来打包上传使用
father
创建项目1
npx create-father [项目名]
完整目录结构
本地开发
npm run dev
打包
npm run build
登录
npm login
发布
npm publish
报错参考
代理相关
关闭代理
npm config set proxy false
或者设置自己的代理
npm config set proxy="http://host:port"
, 上传完之后再关闭
清除 npm 缓存
npm cache clean --force
参考报错码
错误码 说明 E400 需要提高版本号 package.json
=>version
E402 发布公有包, 私有包需要付费 publishConfig
E403 无权限发布包, 考虑包名是否重复!!! E404 确保登录的用户账号正确 npm login
E426 npm 设置源的时候,要设置成 https 协议
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 小四先生的云!
评论