文章目录
- 基本操作
- 安装cnpm
- --save 和 --save-dev的区别
- 其他命令
- package.json和package-lock.json的作用
- dependencies和devDependencies
- 并没有修改package.json文件,为什么我的package.json被修改了。
- # 卸载、安装依赖包
npm是什么?
node package manager (node 包管理器)
rpm呢?
red-hot package manager (linux red-hot 包管理器)
所以一看到 *pm,就先想到 包管理器。
基本操作
查看版本和升级:
npm -v
npm install npm -g ## 升级
查看安装列表:
npm list -g ## 查看安装列表(全局)
npm list yarn ## 查看是否安装某个包
npm cache clean -f ## 清理缓存, -f 是force
安装cnpm
cnpm可以理解为npm的升级版。
安装命令:
npm install -g cnpm --registry=https://registry.npm.taobao.org
–save 和 --save-dev的区别
使用–save安装的打包都打进去,
简写–S
装入dependencies套件中
打包计算在内
使用–save-dev安装的不进行打包,
简写–D
装入devDependencies套件中
打包不计算在内
其他命令
npm install xxx -g #将模块安装到全局环境中 (全局的安装是供命令行使用的)
npm init # 会引导你创建一个package.json文件,包括名称、版本、作者这些信息等
npm ls # 查看安装的模块及依赖
npm ls -g # 查看全局安装的模块及依赖
npm uninstall xxx (-g) # 卸载模块
npm cache clean # 清理缓存
npm ls # 列出当前安装的了所有包
npm root # 查看当前包的安装路径
npm root -g # 查看全局的包的安装路径
npm help # 帮助,如果要单独查看install命令的帮助,可以使用的npm help install
package.json和package-lock.json的作用
package.json 的作用
非常重要,它是包的描述文件,依赖的安装就是根据这个文件来的。
package-lock.json文件锁定所有模块的版本号,包括主模块和所有依赖子模块。当你执行npm install的时候,node从package.json文件读取模块名称,从package-lock.json文件中获取版本号,然后进行下载或者更新。
因为package-lock.json文件锁定了版本号,所以当你执行npm install的时候,node不会自动更新package.json文件中的模块,必须用npm install packagename(自动更新小版本号)或者npm install packagename@xxx(指定版本号)来进行安装才会更新,package-lock.json文件中的版本号也会随着更新。
dependencies和devDependencies
2个都是管理依赖包的。
dependencies是运行所需的包,
devDependencies不是运行所需的包,例如打包工具等。如果不区分的话,都进行打包,那么包会非常大。
并没有修改package.json文件,为什么我的package.json被修改了。
首先npm install是不会修改package.json的。
在npm install xxx 的时候,会给package.json添加devDependencies模块。
# 卸载、安装依赖包
这里以webpack为例:
npm uninstall webpack -g
npm uninstall webpack -D
npm install webpack@^4.0.0 -g
npm install webpack@^4.0.0 -D