摘要:NPM的相关知识
介绍
NPM 是随同 NodeJS 一起安装的包管理工具,能解决 NodeJS 代码部署上的很多问题,常见的使用场景有以下几种:
允许用户从 NPM 服务器下载别人编写的第三方包到本地使用。
允许用户从 NPM 服务器下载并安装别人编写的命令行程序到本地使用。
允许用户将自己编写的包或命令行程序上传到 NPM 服务器供别人使用。
常用指令(win7)
1.返回版本号
1 | npm -v |
2.下载或更新
本地安装
1 | npm install <Module Name> |
本地安装会安装在目标目录中已有或新创建的node_modules目录下,可以通过require()来引入本地安装的包, install
可以简化为i
全局安装
1 | npm install <Module Name> --globel |
或
1 | npm install <Module Name> -g |
全局安装一般会安装在 /usr/local 或者你 node 安装的目录,可以在命令行中使用
全部更新
1 | npm update |
更新指定模块
1 | npm update <Module Name> |
3.删除模块
与安装对应,其中的uninstall可以更换为remove,作用一样
1 | npm uninstall <Module Name> |
4.安装、删除指定版本
npm默认安装最新版本,如果要安装或删除指定版本需要加上版本号,比如本地安装2.1.0版本的jquery
1 | npm install jquery@2.1.0 |
5.模块清单
可以查看已安装的有哪些模块,两条命令等价
1 | npm list |
6.模块信息
1 | npm info <Module Name> |
该命令可以查看某个模块的的详细信息,其中包含历史版本号,可以根据版本号下载安装指定的版本
package.json
package.json是一个NPM包的配置文件,包含作者、简介、包依赖、构建等信息,JSON格式。可以手动生成或者使用命令生成
1 | npm init |
其中版本号"version": "^1.0.0"
X.Y.Z 的 ^ 符号限定更新是第一位 X 不能改变,只能更新后两位到 1.x.x 的最高版。
版本号规则:
1.如果只是修复 bug,需要更新 Z 位
2.如果是新增了功能,但是向下兼容,需要更新 Y 位
3.如果有大变动,向下不兼容,需要更新 X 位
dependencies 依赖的项是正常运行该包时所需要的依赖项,而 devDependencies 则是开发的时候需要的依赖项
将模块下载并加入配置文件中
加入 dependencies中
1 | npm install <Module Name> --save |
加入 devDependencies中
1 | npm install <Module Name> --save-dev |
删除则是
1 | npm uninstall <Module Name> --save |
执行命令
1 | npm install |
可以根据配置文件中 dependencies 和 devDependencies 下载相关的依赖项
发布模块
先要有自己的 npm 账号,可以在 npm 官网https://www.npmjs.com/直接注册,或者使用命令
1 | npm adduser // 注册并登录 |
然后按照提示依次输入用户名、密码和邮箱
在官网注册账号后就可以登录了,也是按照提示依次输入用户名、密码和邮箱
1 | npm login // 登录 |
登录后可以验证自己的信息,显示当前用户名
1 | npm who am i |
此时就可以发布自己的模块啦,进入模块 package.json 目录下,执行
1 | npm publish |
成功后就可以在 npm 官网搜到对应的包,重名会导致失败
修改包中的代码后,依据版本号规则修改版本号,然后再次执行npm publish
即可更新到最新版本,不修改版本号会导致更新失败
如果想要删除相应版本的包
1 | npm unpublish <Module Name>@X.Y.Z |
nrm 换源
下载安装 nrm
1 | npm install nrm -g |
查看当前可换的源,有*的那一行表示当前使用的源
1 | nrm ls |
测试连接所用时间,时间越短速度越快
1 | nrm test |
切换源
1 | nrm use cnpm |
切换成功后,再使用 npm 安装模块就会使用切换后的源,发布自己的模块时要切换回 npm