配置项目环境总报错?看这里

众所周知,package.json是一个管理项目的配置的核心文件,但或许很多人并没有切实体会到它是怎么工作的,我们又能借助它解决哪些问题。

如果你配置项目,环境总报错,那么你可以这样来排查:

1.看报错提示

从头开始看报错提示,并努力看懂,不行的话复制给ai

从头看是因为,后面的报错提示一般都不准确,因为第一步错了,后面会步步错,系统的提示自然也就不准确了。

2.Node版本与项目不匹配

  • 报错关键词:Node.js version mismatchUnsupported engineCommand failed

  • 查看package.json的engine字段

    "engines": {
      "node": ">=18.0.0",
      "npm": ">=9.0.0"
    }

    然后按照需求切换node版本,如果没有这个字段,就去你要使用的项目的官方文档看看,如果对Node版本有要求的话,会明确说明的。

  • 切换Node版本,使用nvm最方便,如果你没有使用nvm,那么可以移步我的另一篇笔记,记录了如何下载、使用nvm  如何正确配置前端环境

3.缺少包或包版本错误

缺少包的话就要去下载这个包,那么在此之前可以看一看项目对该包的版本要求,包版本错误的话也是和以下同样的流程:

需要看package.json文件,看到dependencies字段,这里记录了该项目的所需依赖以及对应的版本号,然后去node_modules文件夹下查找对应的包,点开,找到这个包的package.json文件,查看这个包的版本,如果二者不一样的话,说明你下载的包版本错误,删了,重新下载

"dependencies": {
    "@angular/animations": "~12.2.0",
    "@angular/common": "~12.2.0",
    "@angular/compiler": "~12.2.0",
    "@angular/core": "~12.2.0",
    "@angular/forms": "~12.2.0",
    "@angular/platform-browser": "~12.2.0",
    "@angular/platform-browser-dynamic": "~12.2.0",
    "@angular/router": "~12.2.0",
    "@types/marked": "^4.3.0",
    "@worktile/planet": "^12.1.2",
    "cc-water-marker": "0.0.2",
    "marked": "^4.3.0",
    "rxjs": "~6.6.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.11.4"
  },
npm i <包名称>@<版本号>  //下载指定版本的包

补充:^开头的版本号,说明在我们直接执行npm i时,下载的包版本可能会自动下载该主版本下的最新版,即^12.2.0,可能下载的是12.3.0,12.8.0…,但不会下载13开头的版本,那么下载的包版本不匹配可能就是这个原因,该项目只能匹配12.2.0版本,但你下载的是12.8.0或其他

~开头的版本号,仅允许补丁更新,即~0.11.4,自动下载时的范围是<=0.11.4<0.12.0

无前缀是严格固定版本

*开头表示下载最新版本,但一般不支持这样做哦

提示:执行npm i时,会自动下载该项目的package.json里面dependencies和devDependencies包

以上是我在配置一个项目时总是报错后,使用的解决方法,我这才正真意识到package.jsn的作用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值