npm 用法
npm 是 node package management 的缩写。npm 是一个 node 包管理和分发工具,已经成为了非官方的发布 node 模块(包)的标准。有了 npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。
1. 常用命令
- npm install
有了 package.json 文件,尤其是其中的 dependencies 字段指明了包的依赖关系后,直接使用 npm install 命令,就会在当前目录中安装所需要的模块。所以代码上传 Github 时,不用上传 node_modules 中的内容,服务器部署的时候可以自动安装依赖包。可以做个实验把 node_modules 文件夹都删除,执行 npm install 命令看看效果。 - npm install 命令的 -g 参数
- node 模块或应用的安装分为全局模式和本地模式。一般情况下会以本地模式运行,包会被安装到和你的应用程序代码的本地 node_modules 目录下。在全局模式下,Node 包会被安装到 Node 的安装目录下的 node_modules 下。
- -g 是全局安装命令,获知使用$npm set global=true来设定安装模式,$npm get global 可以查看当前使用的安装模式。
- 但是代码中,直接通过 require() 的方式是没有办法调用全局安装包的。全局的安装是供命令行使用的。
- npm install 命令的 --save 参数或者 -S 参数
- 将信息写入 package.json 中项目路径中如果有 package.json 文件时,直接使用 npm install 方法就可以根据 dependencies 配置安装所有的依赖包,这样代码提交到 github 时,就不用提交 node_modules 这个文件夹了。
npm install -D|--save-dev 安装依赖包,并将依赖包的信息写入 package.json 文件的开发依赖节下
npm config get cache 查看缓存目录
- npm cache list 查看缓存
- npm init 初始化一个 package
- npm adduser
- npm login
- npm logout
- npm init --scope=
- npm ls 查看安装的所有包
- 可能会报错:extraneous 错误,需要修改 package.json 文件的 dependence
- npm test
- npm publish
- npm config set registry
- https://www.npmjs.com/ npm 官网搜索发布的包
- npm init & npm install
& 检查 node_modules 文件夹下的东西 - npm view 查看 package 在 npm 官网的注册参数信息,每次 publish 之后信息都会改变,不 publish 改变的本地的信息,npm view 看到的信息不变
- npm version
设置 package 的新版本号 - npm dist-tag 修改模块发布的标签
- npm outdated 检查版本过期的包
- npm update --save 更新 package.json 依赖项中的软件包
- npm uninstall --save 删除依赖的包
- npm unpublish
--force - npm list -g 查看全局安装的包
npm install 安装加速的问题可以先不讨论。
假如,上面的安装命令执行的非常慢,因为 date-now 这个包非常小,可能快慢看不出来。
你可以试着安装一下 npm install express 这个包比较大,网络
npm install date-now --registry=http://registry.npm.taobao.org 速度 OK
npm config ls -l 重看 npm 配置信息,registry = "https://registry.npmjs.org/"
每次 npm install 时,设置仓库地址非常不方便
npm config set registry http://registry.npm.taobao.org
npm config set package-lock false
npm config set registry https://registry.npmjs.org/
npm config ls -l 看到设置成功
rm -rf node_modules 删除依赖包
npm install date-now 看一下速度
2. 参考资料
- npm 的官方网站
- 阮一峰:npm 模块安装机制简介
- 阮一峰:JavaScript 教程的 NodeJS 章节中的部分内容
- 阮一峰:npm scripts 使用指南
- 阮一峰:package.json 详解
- npm 命令的用法
- npm help install
- how-to-npm Node School 教程