npm 基础
npm help <command> 命令会显示 npm 的 man page,内容非常详细。
安装 / 卸载包
安装全局包:
$ [sudo] npm install -g <package_name>
$ # Example:
$ sudo npm install -g http-server
/usr/bin/http-server -> /usr/lib/node_modules/http-server/bin/http-server
/usr/bin/hs -> /usr/lib/node_modules/http-server/bin/http-server
/usr/lib
└── http-server@0.9.0 但好的实践是,不要 在 /usr/lib/node_modules/ 下安装东西,防止跟 pacman 安装的某些包冲突。可以这样做:
npm config set prefix "${HOME}/.local"- 在
~/.zshrc中增加${HOME}/.local到PATH
安装本地包:
$ npm install <package_name>卸载软件包:
$ npm remove [-g] <package_name>更新包
你可以用 npm outdated 命令查看哪些包不是最新的:
- 对于全局环境,它会检查全部全局包是不是最新的
- 对于本地项目环境,它会在 package.json 限定的范围内检查包是不是最新的
- 比如 package.json 定义了库 A 的版本应该是 14.x.x,那么假如库 A 的最新版本是 15.x.x,
npm outdated也只会显示 14.x.x 中的最新版本
- 比如 package.json 定义了库 A 的版本应该是 14.x.x,那么假如库 A 的最新版本是 15.x.x,
更新单个包:
$ npm install [-g] <pacakge_name>更新全部包:
$ npm update [-g]package.json
参考 官方文档。
一个 package.json 至少包含 name, version 字段。可以用 npm init --yes 来创建一个最简的 package.json,用 npm init 交互式地创建一个详细 package.json。
dependencies 与 devDependencies 分别表示运行时 / 开发时的依赖,在开发阶段时,你可以用 npm install <pacakge_name> --save/--save-dev 来向这两个字段增加一个新的包。当你拿到一份其他的人源码,你进去它的目录中 npm install 时,默认会把 dependencies 跟 devDependencies 中的包都安装进去,除非你给 npm install 指定了 --production 选项,或者 NODE_ENV 环境变量为 production。
同理,删除包后如果想要它也在 package.json 中被删除:npm uninstall --save/--save-dev <package_name>。
scripts 中有一些脚本有 alias,比如 npm start 运行的是 scripts 中的 start 脚本;npm test 同理。
查看已安装的包
$ npm ls [-g]
$ npm ls [-g] --depth=0
$ npm ll [-g]淘宝镜像
设置 register 配置以使用淘宝镜像:
$ sudo npm config -g set registry "https://registry.npm.taobao.org/"设置全局配置,使得 npm install 时,无论装本地包还是全局包都使用这个镜像。