发布
先登录npm用户,执行
npm adduser // or npm login
Username: npm-user-name
Password:
Email: your-email
复制代码
根据提示输入正确的npm用户名、密码、邮箱,添加完后会默认登录
执行
npm publish
复制代码
如果没什么问题,应该就发布成功了。可以去npm搜索发布的包: my-test-project
,或者去自己的npm账号下查看package(这个有延迟,比较慢)。
更新版本号
npm 提供官方提供了npm version
来进行版本控制,其效果跟手动修改package.json里面的version字段是一样的,好处在于,可以在构建过程中用npm version
命令自动修改,而且具有语义化即Semantic versioning
.
npm version [<newversion> | major | minor | patch | premajor | preminor |
prepatch | prerelease | from-git]
其语义为:
major:主版本号(大版本)
minor:次版本号(小更新)
patch:补丁号(补丁)
premajor:预备主版本
preminor: 预备次版本
prepatch:预备补丁版本
prerelease:预发布版本
-
手动更改版本号或 npm version
npm version patch // 1.0.1 表示小的bug修复 npm version minor // 1.1.0 表示新增一些小功能 npm version mmajor // 2.0.0 表示大的版本或大升级 npm version preminor // 1.1.0-0 后面多了个0,表示预发布=
-
npm publish
撤销发布
npm unpublish
撤销发布的命令为 npm unpublish
npm unpublish my-test-project
// 报错
npm ERR! Refusing to delete entire project.
npm ERR! Run with --force to do this.
npm ERR! npm unpublish [<@scope>/]<pkg>[@<version>]
// 加 --force参数重新撤销发布
npm unpublish my-test-project --force
npm WARN using --force I sure hope you know what you are doing.
- my-test-project
复制代码
npm deprecate
npm unpublish
的推荐替代命令:
npm deprecate <pkg>[@<version>] <message>
复制代码
这个命令,并不会在npm上里撤销已有的包,但会在任何人尝试安装这个包的时候得到deprecated的警告,例如:
npm deprecate my-test-project 'this package is no longer maintained'