记录一次接手旧项目的踩坑之旅

背景

笔者最近入职了新的公司,上班第一天领导就交代任务要我把组里面的项目先跑起来熟悉一下。

我首先确认了一下组内常用的几个node版本,并通过nvm进行了提前下载。有了这一步前置工作,前几个项目都非常顺利的启动了起来,但是有一个项目npm install的时候一直报错。

问题一:gyp ERR! find Python

根据提示的内容去联想,这个问题很可能和Python的环境有关。上网查询了一下资料,确实是因为我们本机没有Python2.7的环境引起的。

解决方法

1.安装node-gyp

js 复制代码
npm install -g node-gyp

2.安装Python2.7环境

我们通过超管权限启动控制台运行一下命令

js 复制代码
npm install --global --production windows-build-tools

问题二:node-sass版本问题

一开始我是没有发现这个问题的,因为npm install的时候,并没有直接抛出node-sass的问题,反而是抛出了另外一个问题。

js 复制代码
# [options has an unknown property 'prependData'. These properties are valid: object { implementation?, sassOptions?, additionalData?, sourceMap?, webpackImporter? }](https://www.cnblogs.com/xzybk/p/14379861.html)

这个问题是因为我们项目中loaderOptions进行了以下的配置

其实这也是因为sass-loader的版本不同导致的问题,在不同的node-sass版本,对应的loaderOptions中的prependData字段是不一样的。具体的字段表可以参考下面:

另外我们node-sass也要根据我们项目的node版本去选择对应的版本。

我们可以通过以下指令下载指定版本的node-sass

js 复制代码
npm install node-sass@[本地node所对应的node-sass版本]

如果下载速度慢可以指定镜像源

npm install node-sass@[本地node所对应的node-sass版本] --registry=https://registry.npm.taobao.org --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/

总结

在接手新项目的时候,我们可以先准备好对应的node版本和python2.7环境。这两步可以让我们事半功倍。

另外我们也要注意选择适配我们当前node版本的sass版本,不然也会导致我们启动失败。

最后就是遇到问题可以多思考多查查资料~~

相关推荐
Highcharts.js28 分钟前
如何下载使用Highcharts Grid 开发web可编辑表格
前端·人工智能·grid 表格·web 表格·在线编辑表格·highcharts表格安装·表格开发工具
用户62960593247051 小时前
从“浏览器根本区分不了”到真正实现:刷新不退出,关闭标签页自动退出,前端判断浏览器关闭和刷新
前端
qetfw1 小时前
MWU:Vue 3 + FastAPI 的 MaaFramework 跨平台 WebUI 源码
前端·vue.js·python·fastapi·开源项目·效率工具
mfxcyh1 小时前
Vue3+Ant Design Vue 实现手动异步文件上传(含大小校验、弹窗上传)
前端·javascript·vue.js
wordbaby1 小时前
Web端热敏标签打印完整解决方案(QZ Tray + 译维A42)
前端
swipe1 小时前
03|Axios 请求进了后端之后:Controller、Request、Response 是怎么接住它的?
前端·后端·全栈
meilindehuzi_a1 小时前
Vue3进阶基础:指令修饰符、v-model表单绑定、动态样式、计算属性与侦听器实战
前端·javascript·vue.js
csdn2015_1 小时前
vue 前端运行命令
前端·javascript·vue.js
swipe1 小时前
02|从 `pnpm dev` 到 Spring Boot 启动:后端服务到底怎么跑起来?
前端·后端·全栈
swipe2 小时前
01|前端人第一次打开 Spring Boot 项目,应该先看哪里?
前端·后端·全栈