共计 1350 个字符,预计需要花费 4 分钟才能阅读完成。
什么是 NPM?
NPM 是随同 NodeJS 一起安装的 javascript 包管理工具,能解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种:
- 允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。
- 允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用。
- 允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。
发布前的准备
1. 注册一个 npm 账号
前往 NPM 官网 进行注册
2. 创建一个简单的包
在本地创建一个项目文件夹 multiFoldCard (名字自己取,不要和 NPM 上已有的包名重复冲突就好)
然后通过终端进入文件夹
cd multiFoldCard
接着可以通过命令创建一个包信息管理文件 package.json
npm init
一路回车或根据包的内容来填写相关信息后,package.json 内容大概如下
{
"name": "multifoldcard",
"version": "1.0.1",
"description": "card management project",
"main": "app.js",
"scripts": {"test": "echo"Error: no test specified"&& exit 1"},
"repository": {
"type": "git",
"url": "https://github.com/fantingsheng/multiFoldCard.git"
},
"author": {
"name": "Timfan",
"email": "fants0230@gmail.com"
},
"license": "MIT"
}
接着在 multiFoldCard
文件夹里添加你的项目代码,如果想再完善一下的话,还可以在包根目录下创建 README.md 文件,里面可以写一些关于包的介绍信息,最后发布后会展示在 NPM 官网上。
开始发布创建好的包
使用终端命令行
如果是第一次发布包,执行以下命令,然后输入前面注册好的 NPM 账号,密码和邮箱,将提示创建成功
npm adduser
如果不是第一次发布包,执行以下命令进行登录,同样输入 NPM 账号,密码和邮箱
npm login
注意:npm adduser 成功的时候默认你已经登陆了,所以不需要再进行 npm login 了
接着先进入项目文件夹下,然后输入以下命令进行发布
npm publish
当终端显示如下面的信息时,就代表版本号为 1.0.0 的包发布成功啦!前往 NPM 官网就可以查到你的包了
fantingshengdeMacBook-Pro:multiFoldCard fantingsheng$ npm publish
+ multifoldcard@1.0.1
如果遇到显示以下信息,比如
npm ERR publish 403
You do not have permission to publish 'multifoldcard'.Are you logged in as the corrent user?:bootstrap
意思就是你没有权限发布名为“bootstrap”的包,显然这个鼎鼎有名的包已经有人发布了,所以你只能另取它名。
更新已经发布的包
更新包的操作和发布包的操作其实是一样的
npm publish
但要注意的是,每次更新时,必须修改版本号后才能更新,比如将 1.0.0 修改为 1.0.1 后就能进行更新发布了。