npm publish
将包发布到 npm 仓库
语法
npm publish [<tarball>] [--access=public]
参数
| 参数 | 说明 | 示例 | 级别 |
|---|---|---|---|
(无参数) |
发布当前目录的包 | npm publish |
常用 |
--access=public |
发布为公开包(scope 包必须) | npm publish --access=public |
常用 |
--tag <tag> |
指定发布标签 | npm publish --tag beta |
进阶 |
--dry-run |
模拟发布(不实际上传) | npm publish --dry-run |
常用 |
示例
发布包
npm publish
确保已 npm login
发布 scope 包
npm publish --access=public
@scope/package 默认是私有的
发布 beta 版本
npm version prerelease --preid=beta npm publish --tag beta
用户需要 npm install pkg@beta 才会安装
预览发布内容
npm publish --dry-run
查看哪些文件会被包含
常见错误
npm ERR! 403 Forbidden
包名已被占用,或没有发布权限。尝试换名或加 scope
npm ERR! You must be logged in
先运行 npm login 登录
npm ERR! Cannot publish over previously published version
版本号已存在,用 npm version patch/minor/major 升版本
技巧
- 发布前用 npm pack 检查打包内容
- 用 .npmignore 或 package.json 的 files 字段控制发布文件
- 发布后 72 小时内可以用 npm unpublish 撤回