npm常用命令
安装
全局安装与本地安装
npm install name -g //全局安装
npm install name -global
全局安装(global),使用-g 或 --global
npm install name //本地安装(local)
将包安装到全局环境中
本地安装
- 将安装包放在 ./node_modules 下(运行 npm 命令时所在的目录),如果没有 node_modules 目录,会在当前执行 npm 命令的目录下生成 node_modules 目录。
- 可以通过 require() 来引入本地安装的包。
全局安装
将安装包放在 /usr/local 下或者你 node 的安装目录。
-
可以直接在命令行里使用。
如果你希望具备两者功能,则需要在两个地方安装它或使用 npm link。
安装指定版本
npm install gulp@3.9.1
移除
npm uninstall name
更新模块
npm updat name
查看
查看所有全局(global)安装的模块:
npm list -g
或
npm ls -g
查看所有本地(local)安装的模块:
npm list
或
npm ls
查看某个模块的版本号
npm list name
查看包的安装路径
npm root //输出本地(local)node_modules的路径
npm root -g //输出全局(global)node_modules的路径
搜索
npm search name
其他
npm -v 查看npm安装的版本
或
npm -version
sudo npm install npm -g 更新npm
Package.json
创建生成Package.json
npm init:会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
name - 包名。
version - 包的版本号。
description - 包的描述。
homepage - 包的官网 url 。
author - 包的作者姓名。
contributors - 包的其他贡献者姓名。
dependencies - 依赖包列表。如果依赖包没有安装,npm 会自动将依赖包安装在 node_module 目录下。生产阶段的依赖
devDependencies -开发环境
optionalDependencies 可选阶段的依赖
repository - 包代码存放的地方的类型,可以是 git 或 svn,git 可在 Github 上。
main - main 字段指定了程序的主入口文件,require('moduleName') 就会加载这个文件。这个字段的默认值是模块根目录下面的 index.js。
keywords - 关键字
[-S|--save|-D|--save-dev|-O|--save-optional] [-E|--save-exact] [--dry-run]
项目对模块的依赖可以使用下面的 3 种方法来表示
-S, --save 安装包信息将加入到dependencies(生产阶段的依赖)
举例子:
npm install gulp --save 或 npm install gulp -S
package.json 文件的 dependencies 字段:
"dependencies": { "gulp": "^3.9.1"}
-D, --save-dev 安装包信息将加入到devDependencies(开发阶段的依赖),所以开发阶段一般使用它
举例子:
npm install gulp --save-dev 或 npm install gulp -D
package.json 文件的 devDependencies字段
"devDependencies": { "gulp": "^3.9.1"}
-O, --save-optional 安装包信息将加入到optionalDependencies(可选阶段的依赖)
举例子:
npm install gulp --save-optional 或 npm install gulp -O
package.json 文件的optionalDependencies字段:
"optionalDependencies": { "gulp": "^3.9.1"}
-E, --save-exact 精确安装指定模块版本
举例子:
npm install gulp --save-exact 或 npm install gulp -E
package.json 文件的 dependencies 字段:
"dependencies": { "gulp": "3.9.1"}
版本管理
npm 中模块版本遵循的规范:semver 2.0。
表达式 | 版本范围 |
---|---|
>=1.2.7 | 大于等于1.2.7 |
>=1.2.7 <1.3.0 | 1.2.7,1.2.8,1.2.9 |
1.2.3 - 2.3.4 | >=1.2.3 <=2.3.4 |
1.2 - 2.3.4 | >=1.2.0 <=2.3.4 |
1.2.3 - 2.3 | >=1.2.3 <2.4.0 |
1.2.3 - 2 | >=1.2.3 <3.0.0 |
* | >=0.0.0 |
1.x(等价于1.X) | >=1.0.0 <2.0.0 |
1.2.x | >=1.2.0 <1.3.0 |
""(等价于*) | >=0.0.0 |
1(等价于1.x.x) | >=1.0.0 <2.0.0 |
1.2(等价于1.2.x) | >=1.2.0 <1.3.0 |
~1.2.3(>=1.2.3 <1.(2+1).0) | >=1.2.3 <1.3.0 |
~1.2(>=1.2.0 <1.(2+1).0) | >=1.2.0 <1.3.0 |
~1(>=1.0.0 <(1+1).0.0) | >=1.0.0 <2.0.0 |
~0.2.3(>=0.2.3 <0.(2+1).0) | >=0.2.3 <0.3.0 |
~0.2(>=0.2.0 <0.(2+1).0) | >=0.2.0 <0.3.0 |
~0(>=0.0.0 <(0+1).0.0) | >=0.0.0 <1.0.0 |
~1.2.3-beta.2 | >=1.2.3-beta.2 <1.3.0 |
^1.2.3 | >=1.2.3 <2.0.0 |
^0.2.3 | >=0.2.3 <0.3.0 |
^0.0.3 | >=0.0.3 <0.0.4 |
^1.2.3-beta.2 | >=1.2.3-beta.2 <2.0.0 |
^0.0.3-beta | >=0.0.3-beta <0.0.4 |
^1.2.x | >=1.2.0 <2.0.0 |
^0.0.x | >=0.0.0 <0.1.0 |
^0.0 | >=0.0.0 <0.1.0 |
^1.x | >=1.0.0 <2.0.0 |
^0.x | >=0.0.0 <1.0.0 |
npm config
npm start 启动模块
npm start gulp
该命令写在package.json文件scripts的start字段中,可以自定义命令来配置一个服务器环境和安装一系列的必要程序,如
"scripts": { "gulp": "gulp -all"}
如果package.json文件没有设置start,则将直接启动node server.js
npm stop 停止模块
npm stop [-- <args>]
npm restart 重新启动模块
npm restart [-- <args>]
推荐:npm-阮一峰