如何发布/卸载自己的npm包

1,897 阅读2分钟

什么是NPM?

NPM是随同NodeJS一起安装的javascript包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种:

  1. 允许用户从NPM服务器下载别人编写的第三方包到本地使用。
  2. 允许用户从NPM服务器下载并安装别人编写的命令行程序到本地使用。
  3. 允许用户将自己编写的包或命令行程序上传到NPM服务器供别人使用。

发布前的准备

1. 注册一个npm账号

前往NPM官网进行注册账号

2. 创建一个简单的包

在本地创建一个项目文件夹 my-app (名字自己取,不要和NPM上已有的包名重复冲突就好)

3开始发布创建好的包

1、如果是第一次发布包,执行以下命令,然后输入前面注册好的NPM账号,密码和邮箱,将提示创建成功

npm adduser

2、如果不是第一次发布包,执行以下命令进行登录,同样输入NPM账号,密码和邮箱

npm login

注意:npm adduser成功的时候默认你已经登陆了,所以不需要再进行npm login了

接着先进入项目文件夹下,然后输入以下命令进行发布

npm publish

当终端显示如下面的信息时,就代表版本号为1.0.0(你的package.json中的版本号)的包发布成功啦!前往NPM官网就可以查到你的包了

+ 你的文件名@0.1.0

报错

1、如果出现

npm ERR! code E403
npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/ghost-watermarkdemo - Forbidden
npm ERR! 403 In most cases, you or one of your dependencies are requesting
npm ERR! 403 a package version that is forbidden by your security policy, or
npm ERR! 403 on a server you do not have access to.

以下几种原因会导致

账号密码错误   (请检查npm官网的账号密码)
包重名     (请检查npm官网上是否有同名项目,名字取决于 package.js 的项目名字段)
网络原因   
镜像源问题 
新注册的用户邮箱未激活。  登陆你的邮箱去激活(如下)

L1VzZXJzL21heXVubG9uZy9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvRGluZ1RhbGtNYWMvNTQwMzY2MzQ0X3YyL0ltYWdlRmlsZXMvMTYyNTc1OTEyMDU2NV8xNzQxRjFCRS1CNTg1LTQ1RUEtQUZFQi0zOUFDOUExNUZCOEMucG5n.png

2、 如果出现

L1VzZXJzL21heXVubG9uZy9MaWJyYXJ5L0FwcGxpY2F0aW9uIFN1cHBvcnQvRGluZ1RhbGtNYWMvNTQwMzY2MzQ0X3YyL0ltYWdlRmlsZXMvMTYyNTgwNzM1NTYxOV8xOTVGQkNEQy0yRTdELTRDRkQtQjg3NC00OEM5NTZFQTc3QTkucG5n.png

需要在你的package.json中 private改为false或者删除

更新已经发布的包

更新包的操作和发布包的操作是一样的

npm publish

但是每次更新时,必须修改版本号后才能更新,比如将1.0.0修改为1.0.1后才能更新发布。

这里的包版本管理规则都是一样的,采用的是semver(语义化版本),意思就是版本号:大改.中改.小改

从npm上面卸载自己发布的包

进入自己项目的目录执行。npm unpublish --force 出现:

    npm WARN using --force Recommended protections disabled.
    -包名@0.1.0

则卸载成功,这时在npm上面就搜索不到了