>

简介

NPM 是 Javascript 社区最强大的包管理工具,本文介绍 NPM 的最基本用法。

1、安装

使用 npm 安装第三方包的语法格式如下:

1
npm install <package_name> [--save|--save-dev|--save-optional]

参数解释:

–save: Package will appear in your depedencies.
–save-dev: Package will appear in your devDependencies.
–save-optional: Package will appear in your optionalDependencies.
–global: Package will be installed globally (if you want to use it as a command line tool for example)

如果不加任何参数,而是执行 npm install lodash 这种的话,那么就会安装在当前目录的 node_modules/ 目录中,并且会在 package.json 中的 _dependencies {}_ 中添加当前安装的库。

指定安装源

1
npm install --registry=https://registry.npm.taobao.org

安装最新版

1
npm install <package_name>@latest

同时安装多个包

1
npm install express momemt lodash mongoose body-parser webpack

查看全局的 node_modules 所在目录

1
npm root -g

如果直接执行 npm root,则会列出当前项目的 node_modules 的绝对路径。
还可以用 npm bin 列出当前项目的 node_modules/.bin 目录。

2、删除

删除 project range 的包和删除 global range 的包语法不同,而且还可以决定是否把 package.json 中的依赖信息也删除。

1
2
3
4
npm uninstall <package_name> removes the module from node_modules, but not package.json
npm uninstall <package_name> --save also removes it from dependencies in package.json
npm uninstall <package_name> --save-dev also removes it from devDependencies in package.json
npm -g uninstall <package_name> --save also removes it globally

3、更新

1
npm update underscore

可以用 npm outdated 命令来查看当前项目中的第三方包是否有更新:

4、自更新

在执行 npm 命令时通常会提示是否需要更新,如果需要手动更新,可以执行下列命令:

1
2
npm update npm -g
npm install npm@latest -g

5、搜索包

1
npm search mkdir

6、缓存管理

当指定 npm install 安装一个第三方包的时候,npm 会在本地缓存目录保存这个包的一个拷贝,这样,在下次我们执行安装的时候,如果本地缓存已经有这个包,就无需从网络获取了。
这个缓存目录通常是 ~/.npm,所有我们安装过的第三方包都会在这里保存一个拷贝。

如果我们不清楚缓存是哪个目录,还可以用下面这个命令来查询:

1
npm config get cache

随着我们不断的安装新的包,这个缓存目录会不断变得臃肿(get clutterd with old packages),所以我们有必要在一定的时候清理它。

1
npm cache clean --force

7、Aliases

npm 的命令有时候看起来比较长,尤其是我们经常使用的时候,这个时候,我们可以使用命令的简写形式,它们也叫 NPM Command Aliases。

下面列举常见的一些命令别名:

1
2
3
4
5
6
7
npm i <package> – install local package
npm i -g </package><package> – install global package
npm un </package><package> – uninstall local package
npm up – npm update packages
npm t – run tests
npm ls – list installed modules
npm ll or npm la – print additional package information while listing modules

8、其他

1
2
3
4
5
6
7
8
npm config set editor "sublime"
npm ls
npm list --global
npm list -g --depth=0

npm config list
npm config get prefix
npm config set prefix=$HOME/.node_modules_global

我们可以用 npm 来执行 package.json 文件中指定的(命令行)命令。

先在 package.json 文件中的 scripts 项中添加相应的命令,比如:

1
2
3
"scripts" : {
"test" : "node testfile.js"
}

然后执行 npm run <command>,如下:

1
npm run test

全文完!