使用npm发布自己的软件包

使用npm发布自己的软件包

第一步:注册并登录npm账户

访问npm官网注册一个npm账户并登录

也可以使用npm adduser命令注册账户,这里不详述,有兴趣的可以自行了解

注册成功后,使用npm login在命令行中登录账户

1
2
3
4
5
> npm login
Username: (your npm username)
Password: (<default hidden>)
Email: (this IS public) (your email)
Logged in as hajnxg on https://registry.npmjs.org/.

注意使用npm发布包需要将npm源切换到npm官方源,可使用如下命令

1
2
> npm config set registry https://registry.npmjs.org/
>

第二步:为编写好的软件包添加package.json

进入您要发布的软件包的项目目录,执行npm包初始化命令

1
npm init

按照提示依次填写包名、版本、描述、github地址、关键字、license等

1
2
3
4
5
6
package name: (package name) <包名称>
version: (1.0.0) <版本信息>
description: <关于包的描述>
git repository: <github地址>
keywords: <关键字>
license: (MIT) <license>

完成之后会生成一个package.json文件,上面输入的信息也可以在这个文件中进行修改

如果你的软件包中引用了其他的包,你需要在package.json文件中增加dependencies选项,写入依赖的包及版本

1
2
3
"dependencies": {
"依赖包名": "^版本",
}

注意:

一个快速添加dependencies中的依赖信息的办法,在要发布的包的项目目录中使用下列命令将依赖的包再试安装一遍

1
2
> npm install <依赖包名> --save
>

执行完成后,删除生成的package-lock.jsonnode_modules目录即可,依赖包的信息将自动添加到package.jsondependencies节点下

第三步: 上传包到npm

在项目目录下执行发布命令

1
npm publish

执行完成后出现 + <your package name>@<1.0.0>则说明发布成功,可以在npm官网中查看

注意:

如果执行发布命令后提示 You do not have permission to publish “<你要发布的包名>”. Are you logged in as the correct user? 说明该包名已经被占用,你需要修改包的名称

如果提示 no_perms Private mode enable, only admin can publish this module: 说明当前使用的不是官方源,需要将npm源切换为官方源

第四步: 版本更新

当我们对发布的包进行修改或者添加新功能后,需要在npm更新时,首先需要修改版本号,可以直接在package.json文件中修改,或者执行npm命令进行修改,该命令将自动对当前版本号加1

1
npm version patch

完成后,执行发布命令即可更新

1
npm publish

第五步: 撤销发布

如果我们的历史版本时错误的,我们需要将它删除,这时候需要使用删除指定版本命令

1
npm unpublish 包名@版本号

如果想要从npm中删除整个项目,需要使用删除包命令,删除包需要加上 --force参数强制执行

1
npm unpublish 包名 --force