背景:更换电脑所产生的这篇平平无奇的 node (1.1.12 版本) 踩坑日常,是将这次遇到的所有问题综合了一下所产出,可酌情查看是否有所碰到的问题~
- npm 运行报错
在跑项目时,报以下错误,通过最基础的清空node_modules及package-lock.json,并反复 install 依旧未解决问题。
internal/process/esm_loader.js:74
internalBinding('errors').triggerUncaughtException(
^
Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader. Received protocol 'node:'
at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:782:11)
at Loader.resolve (internal/modules/esm/loader.js:85:40)
at Loader.getModuleJob (internal/modules/esm/loader.js:229:28)
at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:51:40)
at link (internal/modules/esm/module_job.js:50:36) {
code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! ruoyi@3.8.4 serve:dev: `vite`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the ruoyi@3.8.4 serve:dev script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
在install过程中,发现为node版本过低:
[2/4] Fetching packages...
error @vitejs/plugin-vue@3.1.0: The engine "node" is incompatible with this module. Expected version "^14.18.0 || >=16.0.0". Got "14.13.0"
error Found incompatible module.
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
于是采用nvm更换node版本。
// 查看已安装的node版本
nvm list
// 安装指定的node版本
nvm install 版本号
//使用/切换你需要的版本(这个命令在有些电脑环境下需要用管理员方式才能生效)
nvm use 版本号
若可正常切换的,可忽略下文,应该就已经可以正常运行项目了。
- 通过nvm下载其余版本时报错
User
Downloading node.js version 14.18.0 (64-bit)...
Download failed. Rolling Back.
Rollback failed. remove D:\nvm\v14.18.0\node64.exe: The process cannot access the file because it is being used by another process.
Could not download node.js v14.18.0 64-bit executable.
通过翻阅博客及咨询gpt,发现为nvm版本问题,于是更换nvm版本。
2.1 替换 nvm 版本为 1.1.12
# 开启与关闭nvm(目前不清楚这一步有没有用,解决问题时,走了这一步,
# 也导致后续出现没有开启nvm下载不了node的问题)
nvm off
# 查看已有版本
nvm ls
# 依次卸载
nvm uninstall 版本号
# 可再次查看已有版本,查看是否为空
nvm ls
在找到对应nvm的下载目录(最起初安装nvm时的安装目录),将nvm整个文件夹删除删掉。以下框住的是我所安装的node版本,执行卸载完后应不会有node版本文件夹,若有 继续卸载。
通过官网再下载最新版本 nvm(nvm官网链接)
点击下载后,根据提示依次执行,安装 nvm。
安装步骤当时我参考了这篇博客(nvm安装教程),可以借鉴一下。
重新安装完nvm后,我开始安装node版本,发现连接超时,通过nvm on开启也依旧超时
# 安装node
nvm install <对应版本>
# 开启nvm
nvm on
Could not retrieve https://nodejs.org/dist/latest/SHASUMS256.txt.
Get "https://nodejs.org/dist/latest/SHASUMS256.txt": net/http: TLS handshake timeout
通过翻阅博客及所安装的 nvm 的配置文件,发现并未添加国内镜像。
需在 setting.txt 文件中配置上国内镜像。
node_mirror:npm.taobao.org/mirrors/node/
npm_mirror:npm.taobao.org/mirrors/npm/
至此,就可以正常安装node并运行项目啦,撒花~