npm命令详解
本文介绍nodejs的包管理器npm及其简单命令。
npm介绍与安装
npm,是node package manager的缩写,从名称上理解,node 包管理器。已集成在nodejs中。Node.js 是运行在服务端的 JavaScript环境。
进入https://nodejs.org/zh-cn/,建议下载长期维护版,安装完后在cmd中使用node -v、npm -v
即可查看是否安装成功,安装成功会输出版本号。
命令
每个命令都会更新 package.json
文件。
类似于npm install
可以缩写为npm i
,常用命令可以这样缩写。
-g是-global,加上是全局安装,安装在nodejs目录下的node_modules,不加-g的话是将安装包放在 node_modules
下(运行 npm 命令时所在的目录),如果没有 node_modules
目录,会在当前执行 npm 命令的目录下新建 node_modules
目录。
命令 | 缩写 | 解释 |
---|---|---|
npm install 模块名 | npm i | 安装模块 |
npm list | npm ls | 查看已安装模块,加上-g查看安装到全局的模块 |
npm uninstall 模块名 | npm un | 卸载模块 |
npm update 模块名 | npm up | 更新模块 |
npm outdated | 检查模块更新,Wanted为在不破坏现有代码情况下,可以更新到的版本号。 | |
npm install -f | 有时候报错的时候会提示该问题,npm 会使用默认值为你创建 package.json 文件,不再询问任何问题。 |
|
npm install -S或npm install –save | 包将被添加到 dependencies ,在安装模块时,只有当事人知道安装了哪些模块,如果换另外一个人来看这个项目,是不会知道这个项目安装了哪些模块。 使用 --save 可以在安装模块时,同时将安装的模块信息记录在 package.json 文件中,这样第三个人再看这个项目时,就可以直接看 package.json 文件来了解这个项目依赖了哪些包。 |
|
npm config set registry https://registry.npm.taobao.org | 设置国内源 |
package.json 中包版本 ~ 与 ^ 说明
package.json 中会记录很多包的版本号,前面大多出现 ^ 和 ~ 符号,表示某个包的版本号取值范围,包的版本号在这个范围之内都是可以的。
假定某个包的版本是 1.4.0
~1.4.0表示:>=1.4.0 && < 1.5.0说明:小版本不变,补丁号可以取最大值。
^1.4.0表示:>=1.4.0 && < 2.0.0说明:大版本号不变,小版本号可以取最大值。
使用淘宝 NPM 镜像
大家都知道国内直接使用 npm 的官方镜像是非常慢的,这里推荐使用淘宝 NPM 镜像。
淘宝 NPM 镜像是一个完整 npmjs.org 镜像,你可以用此代替官方版本(只读),同步频率目前为 10分钟 一次以保证尽量与官方服务同步。
你可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm:
1 | npm install -g cnpm --registry=https://registry.npmmirror.com |
这样就可以使用 cnpm 命令来安装模块了:
1 | cnpm install [name] |
更多信息可以查阅:npmmirror 中国镜像站
nvm
Nvm 是一款命令行工具,用于安装 Node。
要安装 Node 可以下载安装包进行安装。(不推荐)
但是 Node 是有版本属性的,就像 JAVA 里有 jdk1.6、jdk1.8 的区别一样。
那么如果你的项目需要使用不同版本的 Node,你总不能下载多个安装包,然后在使用哪个版本的 Node 时将之前版本的 Node 卸载掉。
nvm 和 npm 同样是命令行工具,有这类似的概念:
npm —— 管理包(包括增删改查包)
nvm —— 管理 Node 版本(包括下载 Node,切换 Node 版本)
参考链接