Node.js-npm
文章目录
基础
后缀
全称 | 缩写 | 释义 |
---|---|---|
–version | -V | 版本 |
–global | -g | 表示全局 |
–save | -S | 将记录保存在package.json的dependencies(生产环境)里面 |
–dev | -D | 将记录保存在package.json的devDependencies(开发环境)里面,例如记录babel,sass-loader这些解析器 |
全局和局部区别
全局包
全局包在本台电脑上任何目录下都可使用,cmd里也可以直接使用,例如npm,cnpm,vue等,他们的使用方式决定了他们应该是全局的;
局部包
局部包仅在命令执行的目录下可以使用,不适用全局的方式是因为:
- 项目的依赖包版本不同,在其他电脑上使用时,全局包的版本可能不同造成项目异常
- 项目的依赖包在其他电脑上可能没有安装,并且package.json可能会因为首位开发者有全局包而没有声明依赖包信息而缺失了依赖包信息
查看全局包路径
npm root -g
一般都在这个路径存放:
C:\Users\用户名\AppData\Roaming\npm\node_modules
安装包
默认安装
// 此时将默认下载最新版本
npm i 包名
安装指定版本
npm i 包名@x.x.x
更新包
查看版本
包名 -V
手动更新
npm i 包名@latest
或
npm update 包名 // 推荐
有新版本示意图:
无新版本示意图:
ncu更新检查工具
npm i npm-check-updates -g // 安装
ncu // 检查局部
ncu -g // 检查全局
ncu -u // 更新package.json
npm install // 按更新后的package.json更新依赖
ncu无法更新全局包,因为全局没有package.json,但提供了更新建议:
ncu -g -u
卸载
npm uninstall 包名
切换npm源
手动
查看当前源
npm config get registry
切换
// 临时使用
npm install 要安装的包 --registry https://registry.npm.taobao.org
// 持久切换
npm config set registry https://registry.npm.taobao.org
nrm源管理工具包
npm install -g nrm //安装
nrm ls //显示可用源
nrm test //测试所有源速度
nrm test 源名 //测试指定源速度
nrm use 源名 //切换源
cnpm代替npm
npm i -g cnpm --registry=https://registry.npm.taobao.org
nrm(npm版本管理)
nrm ls // 显示已安装的
nrm use 10.0.0 // 使用
nrm install 10.0.0 // 安装
nrm uninstall 10.0.0 // 卸载
-
安装前需要先卸载 node
-
国外下载太慢,可以修改 /settings.txt,添加淘宝镜像:
node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
-
每个版本的全局 npm 包都不通用,各自管理各自的包
常见问题
WARN 警告
不建议 ********,找到新版本/不再支持旧版本/…等
package.json记录的依赖表明了是否可安装新版本等信息,例如:
"axios": "^0.19.2",
^
表示大版本不变的情况下可以安装新版本,默认将安装新版本例如0.19.5,所以不按json文件的版本安装时会警告并描述原因,不必理会
npm 仓库超时
超时后报错
通常是因为网络问题,可以切换国内源
安装 node-sass 超时
使用淘宝镜像
// 临时
npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
// 全局永久
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/