Read Time:1 Minute, 30 Second
最近尝试新项目编译前端时发生报错,
npm i
npm run serve
(node:59174) ExperimentalWarning: The fs.promises API is experimental
> gin-vue-admin@2.5.0 serve
> node openDocument.js && vite --host --mode development
darwin
internal/modules/cjs/loader.js:638
throw err;
^
Error: Cannot find module 'worker_threads'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object.<anonymous> (/Users/huangjunjie/Documents/MtCodes/linglong/web/node_modules/vite/dist/node/chunks/dep-9c153816.js:25:20)
at Module._compile (internal/modules/cjs/loader.js:778:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
at Module.load (internal/modules/cjs/loader.js:653:32)
at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
at Function.Module._load (internal/modules/cjs/loader.js:585:3)
查找解决方案,判断有依赖没安装正确,尝试 cnpm i,发生新报错:
[esbuild-android-arm64@0.14.25] optional install error: Package require os(android) not compatible with your platform(darwin)
即提示不适合windows,问题应该是sass loader出问题,尝试解决:
# 方案一
cnpm rebuild node-sass # 重新安装
cnpm install
# 方案二
npm update
npm install
nodejs node_modules/node-sass/scripts/install.js
npm rebuild node-sass
重新测试,仍发生文章开头报错,判断是node版本过低导致异常,Node.js的开发非常活跃,它的最新稳定版本也频繁变化,你不时会发现,一个模块不能在你当前的Node版本上使用,此时你需要升级Node。
比较给力的是,可以用一种非常简单的方法来管理你的Node版本,即使用Node Binary管理模块“n”。
更新升级node版本的方法如下:
1)首先:查看当前node版本:
node –v
2)安装n模块:
npm install -g n
3)升级到指定版本/最新版本(该步骤可能需要花费一些时间)升级之前,可以执行n ls (查看可升级的版本)
如:n v6.9.1
或者你也可以告诉管理器,安装最新的稳定版本
n stable
或者升级到最新版
n latest
4)安装完成后,查看Node的版本,检查升级是否成功
node -v
注:如果得到的版本信息不正确,你可能需要重启机器
最后,扩展说明:
有很多同学会发现,安装完成之后,用node –v查看,还是老版本,安装未生效。
原因:
n 切换之后的 node 默认装在 /usr/local/bin/node,先用 which node 检查一下当前使用的 node 是否是这个路径下的。如上缘由,一般都是因为当前版本指定到了其他路径,更新下/etc/profile文件指定即可。轻松解决。
Average Rating