npm是什么?node
npm是JavaScript的包管理工具,能够构建重复代码,无需手动编写。webpack
npm安装的方式——本地安装和全局安装
何时用本地/全局安装?
1.当试图安装命令行工具的时候,例如 Angular CLI的时候,使用全局安装
全局安装的方式:npm install -g @angular/cli@1.0.0
2.当你试图经过npm install 某个模块,并经过require('XXX')的方式引入的时候,使用本地安装
本地安装的方式:npm install 模块名称
本地安装会将文件安装到本地项目的node_modules中
而使用-g的方式进行全局安装,把模块统一安装到一个目录中去,这样既方便管理、结构清晰还能够重复利用。
经过 npm config set prefix "目录路径" 来设置全局路径。
经过 npm config get prefix 来获取当前设置的全局目录。
注意一个问题,在团队协做中,一个常见的情景是他人从github上clone你的项目,而后经过npm install安装必要的依赖,(刚从github上clone下来是没有node_modules的,须要安装)那么
根据什么信息安装依赖呢?就是你的package.json中的dependencies和devDepencies。因此,在本地安装的同时,
将依赖包的信息(要求的名称和版本)写入package.json中是很重要的!
By default,
npm install
will install all modules listed as dependencies in
package.json
.
npm install 将会把全部在package.json中的依赖所有下载安装到node_modules中
npm install 模块:安装好后不写入package.json中
npm install 模块 --save 安装好后写入package.json的dependencies中(生产环境依赖)
npm install 模块 --save-dev 安装好后写入package.json的devDepencies中(开发环境依赖)
示例:
我在项目下安装webpack:进入项目终端输入npm install
安装完毕后个人package.json
卸掉webpack再重装:输入npm install webpack --save后:
卸掉webpack再重装:npm install webpack --save-dev后:
安装以前,npm install
会先检查,node_modules
目录之中是否已经存在指定模块。若是存在,就再也不从新安装了,即便远程仓库已经有了一个新版本,也是如此。git
若是你但愿,一个模块无论是否安装过,npm 都要强制从新安装,可使用-f
或--force
参数。github
$ npm install <packageName> --force
删除全局模块
npm uninstall -g <package>利用npm
删除本地模块
npm uninstall 模块
删除本地模块三种方式:
npm uninstall 模块:删除模块,但不删除模块留在package.json中的对应信息
npm uninstall 模块 --save 删除模块,同时删除模块留在package.json中dependencies下的对应信息
npm uninstall 模块 --save-dev 删除模块,同时删除模块留在package.json中devDependencies下的对应信息
删除全局模块
npm uninstall -g @angular/cliweb
npm cache clean npm
npm install -g @angular/cli@1.0.0json