运行别人的vue项目(特别是旧项目),遇到的坑

2023年 8月 15日 29.3k 0

先列举报错内容,这些错误情况,均适用,出现以下错误,大概率解决一个又出现另一个,无穷无尽

错误信息1:stack Error: Can't find Python executable "python", you can set the PYTHON env variable.(sass版本过低导致)

错误信息2:gyp ERR! cwd C:\Users\yovngfun\code\2CIM-Web\node_modules\node-sass(sass版本过低导致)

错误信息3:the package-lock.json file was created with an old version of npm(node版本过高导致)

错误信息4:Unsupported engine(node版本过高导致)

错误信息5:Syntax Error: Error: ‘**\node_modules\pngquant-bin\vendor\pngquant.exe‘(npm网络导致)

错误信息6:Error: Node Sass does not yet support your current environment

错误信息7:this.getOptions is not a function

错误信息8:Syntax Error: Error: Cannot find module ‘imagemin-gifsicle‘

错误信息9:Syntax Error: Error: Cannot find module ‘gifsicle‘

错误信息10:throw err; ^ Error: Cannot find module ‘node:util‘(npm和cnpm版本不一致)

先说原因,最后总结终极解决方案

1,拿到后直接npm i

由于项目较早,大概率会出现node版本过高问题,罪魁祸首是sass,sass每个版本有对应的node版本,过高,过低都不行。

这时候就需要使用nvm,nvm安装并切换对应的node版本。nvm安装node时会同步安装npm,需要注意一定要确保node和npm都安装成功。

由于项目比较老,安装依赖需要良好的网络环境,不然会遇到各种包缺失的情况,最好使用cnpm安装,因为cnpm较早就开始有镜像支持,对古早项目比较友好

但是cnpm和npm需要版本对照,要安装npm对应版本的cnpm

至此以拿到手时,项目里的"node-sass": "^4.12.0"为例

解决办法:

找到sass对应的node版本号, 执行并切换对应的版本号,这里用nvm管理node。安装node时,一定要观察npm同步安装成功,每个node对应一个npm。

OS

Architecture

Node

Windows

x86 & x64

0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

OSX

x64

0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14

Linux*

x86 & x64

0.10, 0.12, 1, 2, 3, 4, 5, 6, 7, 8**, 9**, 10**^, 11**^, 12**^, 13**^, 14**^

Alpine Linux

x64

6, 8, 10, 11, 12, 13, 14

FreeBSD

i386 amd64

10, 12, 13

具体命令如下:

//安装node
nvm install 14.15.0
//查看所有node
nvm ls
//切换node版本
nvm use 14.15.0
//检查npm版本,输出6.13.4
npm -v
//安装cnpm, 版本需与npm版本一致
 npm install -g cnpm@6.0.0 --registry=https://registry.npm.taobao.org
//最后执行安装依赖
cnpm i
//运行项目
npm run serve

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论