【记录nuxt2项目运行遇到的问题】

  • Post author:
  • Post category:其他




背景

前段时间小老弟离职了,之前交给他的nuxt2官网项目又回到了我的手中,然后产品跟我说有几个东西需要优化一下,我说小意思,然后我就clone了最新代码准备露一手,然后…我项目就跑不起来了…理论上来说不应该啊,之前这个项目我开发过,不存在环境上的兼容,然后我就npm,cnpm,yarn,pnpm各种下包,删包都不行,静下心来思考了一下,终于找到了问题所在!!!



第一个报错 node版本

14.17.0

internal/modules/cjs/loader.js:888
  throw err;
  ^
Error: Cannot find module 'node:fs'

网上查了一下都说是node版本原因,需要升级node,然后我就升级到了

14.21.3

,当然也可以升级16以及更高,不过这个时候就要注意

node-sass

,

sass-loader

(如果有使用到)的版本对应关系了,这个时候运行

npm run dev

编译成功了,当我以为项目已经可以成功跑起来的时候,我浏览器访问了一下地址,然后又报了一个新的错误



第二个错误

context.outputFileSystem.lstat is not a function

在这里插入图片描述

看报错位置是webpack中间件报错,这就很奇怪了,看来还是环境问题,那就不会是项目代码出问题了,我就去看了一下

package.json

里面nuxt的版本是

2.15.8


在这里插入图片描述

然后我又去

node_modules

里面找了一下下载的

nuxt



在这里插入图片描述

好家伙,竟然是2.16.2,然后我又去

npm

上面看了一下版本

在这里插入图片描述

在这里插入图片描述

巧不巧的,两年多时间不更新,偏偏在这个时候更新了,至于package.json里面是2.15.8,下载下来是2.16.2那就是另外一个知识点了

^表示:匹配最近的一个大版本比如1.0.2 将会匹配到1.x.x,但不包括2.x.x


表示:匹配最近的小版本比如

1.0.2将会匹配1.0.x版本,但不匹配1.1.0

所以说报错的原因是因为一直下载的2.16.2,下面是这个版本修复的日志

在这里插入图片描述

至于我,我直接锁定死nuxt版本(去掉尖括号^)为

2.15.8

没有取用2.16.2,继续开发



版权声明:本文为YuShiYue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。