十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

FlyEnv:跨平台全栈本地开发环境管理器,一键搞定PHP/Node/Java/MySQL

FlyEnv:跨平台全栈本地开发环境管理器,一键搞定PHP/Node/Java/MySQL 告别环境配置内耗FlyEnv一劳永逸的跨平台全栈本地开发工具兄弟们你们有没有过这种经历换了台新电脑光是配环境就花了一整天装完 Node.js 装 Java配完环境变量发现 npm 又调不通跑个 WordPress 还得去折腾 phpMyAdmin等全部搞定下班的点已经到了。我做全栈开发这些年从 Windows 到 macOS 来回折腾最怕的不是写代码而是把代码跑起来之前那漫长的环境准备。今天想分享的 FlyEnv就是专门解决这些“环境配置内耗”的工具它是一个跨平台的全栈本地开发环境管理器一句话概括用上它之后我几乎再也没手动改过环境变量所有项目的运行环境都是一键起停。FlyEnv 解决的核心问题非常精准用户在 Windows、macOS、Linux 上做全栈开发时需要同时处理 Web 服务器、PHP、MySQL、Redis、Node.js、Java 等一堆组件的版本依赖、路径配置和端口冲突传统方式是逐个下载、逐个安装、逐个配置非常容易踩坑。FlyEnv 这类图形化工具的思路是把这一整套流程统一收口——想用哪个版本界面里切换就行每个项目绑定自己独立的 PHP 或 Node 版本互不干扰非常适合本地开发多项目并行、技术栈混杂的开发者。不管是写 PHP 后背项目的还是玩 Node.js API 的或者是 Java 同志和前端页面一起联调的都能在这套工具里找到合适的工作流。我自己的经历比较典型去年入手了一台新笔记本系统从 Windows 换到 macOS当时同时要维护一个 Laravel 项目、一个 ThinkPHP 老项目、一个用 Express 写的接口服务外加一个 Spring Boot 的微服务在做联调。按照以前的办法我得在系统里装两套 PHP 版本、切换 Node 版本、管理 MySQL 账号和端口、处理 Redis 的持久化配置——想想都头大。后来用了 FlyEnv这台新电脑从零到全部项目跑起来大概只花了一个小时大部分时间还花在解压下载包上这种体验上的提升是肉眼可见的。所以这篇文章我就把这套工具的安装、配置、使用全流程以及我实际踩过的坑一一分享出来希望能帮你省下半天时间把精力真正花在写代码上。1. 为什么本地环境配置会成为“内耗重灾区”1.1 手工配置环境的三大痛点说环境配置内耗真不是矫情。传统手工配环境的方式痛苦集中在三件事上。第一是版本冲突。你电脑上可能装了一个 PHP 8.2可手上要维护的老项目还依赖 PHP 7.4偏偏那两个版本的系统扩展还不兼容。换版本就得改环境变量、改启动脚本运气不好还要去编译安装老版本的扩展一折腾就是一个下午。Node.js 那边也一样前端项目用 Vite 要求 Node 18 以上老服务项目却还卡在 16你总不能一直用 nvm 手动切换吧。第二是路径混乱。每个人装软件的习惯不一样有人放在默认目录有人放 D 盘有人放用户目录下的 bin 文件夹。有些软件安装完会自动写环境变量有些装完还得自己去系统设置里手动添加——要是漏掉一步命令行的报错就等着你了报错还经常是“command not found”这种让人一头雾水的提示。第三是端口和权限问题。80 端口被占用了、443 端口需要管理员权限、MySQL 的 socket 文件路径不对、Redis 默认端口被别的服务截胡——这些暗坑往往在你项目跑到一半的时候才暴露出来排查起来非常费劲。1.2 现有方案的替代与不足有些人会想到 Docker确实容器化是隔离环境的好办法。但 Docker 在本地开发里也有自己的问题镜像体积巨大一个开发容器动辄几个 G文件挂载在 macOS 和 Windows 上磁盘 IO 性能不太理想而且对不熟悉容器概念的同学来说Dockerfile 和 docker-compose.yml 的写法本身又是一道学习门槛。有些人会选 Laragon 或者 XAMPP 这类老牌面板工具问题是它们大多绑定 Windows 或 macOS 单一平台PHP 相关的支持好但对 Node.js、Java 这类全栈语言的支持普遍偏弱。而 FlyEnv 的定位恰好把这块空白补上了它目标就是做一个跨平台的、管全栈的本地工具设计思路上借鉴了现代桌面应用的做法安装后打开看各个服务组件的启停、版本切换、项目绑定都是图形化操作几乎没有学习成本。我之前还见过一些团队用脚本来自动化配置环境写一个 setup.sh 把下载、解压、设置 PATH 全做了。这种方式对统一团队开发环境有效但脚本本身要维护换个新电脑还得重新跑一遍而且遇到系统差异比如 macOS 的 bash 和 Linux 的 bash 行为不同就要改脚本麻烦程度不亚于手工配置。2. 快速上手安装 FlyEnv 与环境启动2.1 下载、安装与跨平台支持FlyEnv 在 Windows、macOS、Linux 上都有对应的发行版这一点我特别满意不用因为换电脑而换工具。官方页面上根据自己的系统下载对应安装包Windows 用户下载 exemacOS 用户下载 dmgLinux 用户有 AppImage 或者根据发行版选择的包。安装过程比较省心几乎没有需要手动选择依赖的环节Node.js 或者 Java 这类运行时也不需要你先装好FlyEnv 自己会管理一套独立的运行时版本不会污染系统已经装好的环境。我刚换到 macOS 时直接拖拽安装首次启动会提示设置数据目录我选了默认位置后续所有下载的服务组件和项目数据库都会放在这个目录下用起来很整齐。我个人的建议是首次启动时把数据目录放在一个剩余空间较大的磁盘上因为 MySQL 的数据文件、Redis 的持久化文件、还有下载的各种语言运行时都挺占空间。如果你电脑磁盘紧张后面迁移数据目录也不复杂直接复制整个文件夹然后改一下配置里的指向就行。2.2 图形界面总览一个面板管理所有组件打开 FlyEnv 之后主界面做得非常直观左侧是服务组件的列表右侧是每个服务的状态和日志面板顶部可以切换语言和主题。我第一次打开界面马上就能看懂Nginx、Apache、MySQL、MariaDB、Redis、Memcached、PostgreSQL、MongoDB、Node.js、Java、Python 等常见组件都列出来了每个组件的右侧都有一个启动/停止按钮。这种把所有组件都集中在一个窗口里的设计对一个全栈开发者来说特别友好。以前用系统自带方式跑服务需要开好几个终端窗口还要记住每个服务的启动命令。现在鼠标点一下就行而且组件的启动和停止几乎是秒级的重启 Nginx 这种操作比命令行敲sudo nginx -s reload还要快。另外界面右上角还有一个“服务状态总览”区域一眼就能看到哪些端口被监听、有没有占用冲突。这个功能在排查问题的时候非常好用比如当你发现项目访问不了可以先看面板上的端口占用是否正常不用再用lsof -i:8080去查了。2.3 快速启动一个 PHP 网站项目对于 PHP 开发者FlyEnv 最核心也最顺手的地方在于它能够自动解析并创建站点你不用手动配置 Nginx 或 Apache 的 vhost。假设你已经有一个 Laravel 项目目录在~/Code/my-laravel-app。你需要做的只是在面板里添加一个站点站点类型选择“PHP”站点名称填my-laravel-app根目录指向项目的public目录选择你需要的 PHP 版本比如当前项目用的是 PHP 8.2点击创建然后启用该站点它会在后台自动完成开启 Nginx、申请域名映射通常是my-laravel-app.test、绑定 PHP-FPM 这些动作你只需要在浏览器里打开http://my-laravel-app.test就能看到项目当然项目本身的.env文件和数据库配置还是需要你自己准备的。这一点真的让我感慨以前配一个虚拟主机至少要写几十行配置文件还要记得重新加载服务现在全程图形化操作几分钟搞定。3. FlyEnv 核心功能详解从服务管理到项目隔离3.1 多语言运行时管理PHP、Node.js、Java、Python 版通通随意切换对全栈开发来说FlyEnv 最打动我的功能是它整套的语言运行时管理能力并且支持全局与项目级两种隔离方式。点击“运行时”进入语言版本管理页可以查看到已经安装的 PHP 版本也可以一键下载 5.6 到 8.3 之间的任意版本。在站点或项目配置里你可以为不同的项目选择不同的 PHP 版本。比如一个老项目需要 php 7.4 MySQL 5.7另一个新项目需要 php 8.2 MySQL 8.0那么在 FlyEnv 里只需要创建两个不同的站点分别指定对应版本即可老项目和新项目同时在跑互不干扰。Node.js 也一样。你可以在全局使用 Node 18 作为默认版本然后在某个具体的前端项目里指定 Node 20。切换到项目目录执行node -v的时候你可能会想这是怎么实现的——实际上 FlyEnv 会在初始化项目终端环境时注入对应的 PATH 配置因此你在终端里可以直接使用对应版本不需要手动敲nvm use之类的命令非常方便。Java 这块值得多说一句。早期我在本地同时开发两个微服务项目一个基于 JDK 8一个基于 JDK 17每次切换都靠改JAVA_HOME和 PATH非常容易出错。FlyEnv 里的 Java 运行时切换解决了这个问题只要你为项目绑定相应的 JDK 版本它在启动时会自动把 JAVA_HOME 指向正确的位置你再也不用反复修改系统环境变量了。3.2 数据库管理MySQL、MariaDB、PostgreSQL、MongoDB、Redis 一步到位数据库是本地开发的重头戏如果只装一个 MySQL 还好办但不同项目想要不同的版本或不同数据库类型时FlyEnv 的价值就体现出来了。它支持 MySQL、MariaDB、PostgreSQL、MongoDB、Redis 等主流存储工具的图形化安装和启停管理。点击对应数据库组件就可以直接下载并启动对应服务启动后组件会提供端口、用户名、密码等信息甚至能够直接在面板里打开一个网页版的数据库管理客户端不需要再额外去装 phpMyAdmin、Adminer 之类的工具。举个例子之前我在本地同时跑两个项目一个项目用的是 MySQL 5.7另一个项目用的却是 MySQL 8.0 的某些特性。用 FlyEnv 很容易解决它允许你安装多个 MySQL 版本并为每个站点绑定不同的数据库实例你可以按端口来区分3306 端口挂一个实例3307 端口挂另一个。项目数据库连接串里指定对应端口即可完全互不影响。Redis 也一样不同项目可能需要不同的持久化策略甚至有的项目需要模拟生产环境开启密码认证。在主面板上你可以独立调整每个 Redis 实例的配置项修改后只需要点击重启就能生效对本地联调场景来说非常高效。3.3 反向代理与伪静态Nginx/Apache 图形化配置很多人对 FlyEnv 望而却步的原因可能是因为 Nginx、Apache 配置太复杂。实际上FlyEnv 把最常用的伪静态、HTTPS 证书、端口设置等能力都做成了可视化操作。例如一个基于 ThinkPHP 的项目需要在 Nginx 里配置一个 “pathinfo 模式”的伪静态规则。传统的做法是手动去nginx/conf目录下找nginx.conf在server块里面加一段location规则写错了还得重新 reload。现在你只需要在站点设置里找到“伪静态”选项卡选中 ThinkPHP 的预设模板保存之后自动生效不需要再碰配置文件。对于有 HTTPS 需求的本地联调例如某些第三方登录 SDK 或支付接口要求 https 回调FlyEnv 也内置了本地证书工具。你可以在站点设置里一键开启 SSL它会自动生成一个本地自签名证书同时会尝试帮你把它加入到系统信任列表中所以浏览器的提示也会消失。我第一次在本地用一个 https 域名做小程序接口联调时真的感动到了——之前为了搞这个我还专门用 mkcert 手动生成过一次证书过程繁琐且容易出错而现在就是点一个按钮的事。3.4 团队协作与配置文件共享让新同事 5 分钟跑起项目做工具的人也要考虑团队协作。FlyEnv 在项目配置上设计了“配置导入/导出”的功能即使你不常接触这个功能也会发现它对团队统一开发环境特别有用。我在团队里维护了一个统一的环境配置模板里面包含了 PHP 8.1、Node 18、MySQL 8.0 等固定版本服务端口、数据库初始密码都在模板里定义好分享了项目的 .env 示例。新同事入职后只要安装 FlyEnv导入配置文件然后启动项目相关服务就能在自己电脑上获得和团队一致的环境。相比较而言以前新人第一天到公司可能就要折腾一整天环境现在基本是一上午跑通项目流程。需要提醒大家注意的是FlyEnv 适合本地开发不适合生产环境部署。生产环境还是应该使用云厂商的托管数据库、容器编排或者专业的运维工具本地开发工具的定位就是快点把代码跑起来做开发和测试。4. 实操记录我用 FlyEnv 同时跑起三个不同类型项目理论部分说了不少趁热打铁用我的实际操作过程来演示一遍。我目前电脑上同时维护着三个不同的项目我以这三者为例完整记录一下我自己在 FlyEnv 里从项目创建到正常访问的步骤。4.1 操作场景说明我本机是一台 macOS 电脑已经安装了 FlyEnv数据目录默认。现在有三个项目一个 Laravel 10 项目PHP 8.2 MySQL 8.0用来做后端 API 服务路径~/Code/api.laravel.demo。一个 Express 项目Node.js 20 Redis路径~/Code/node-express-demo主要用来做实时消息推送服务。一个 Spring Boot 项目JDK 17 MySQL 5.7路径~/Code/springboot-demo模拟老团队的微服务仓库代码。这三个项目对运行时的要求差异很大放在以前我至少要把 PHP、MySQL、Node.js、Redis、JDK 这些环境全部手动装一遍还要为不同版本配置不同的 PATH。现在全程用 FlyEnv 来管。4.2 第一步安装与启动基础组件打开 FlyEnv 后我做的第一件事是启动基础服务组件。先进入“服务”页签点击 MySQL 旁边的“安装”它会自动下载对应版本的 MySQL 并完成初始化。初始化过程中面板会显示进度日志这一步耗时取决于网络通常几秒到十几秒。注意FlyEnv 默认通过 3306 端口启动 MySQL并默认创建了一个root用户初始密码为root。MySQL 运行起来后我又安装了 RedisRedis 默认占用 6379 端口。之后启动 Nginx并让它在后台常驻以小内存方式运行等待处理站点请求。这里要特别说明的是如果你本地已经提前装好了 MySQL、Nginx 等软件并占用了端口FlyEnv 检测到端口冲突时会给出警告。你需要手动在面板上修改端口或者把系统里已有的软件停掉。最好的办法是用 FlyEnv 后就直接放弃系统里那些散装服务避免冲突。4.3 第二步创建站点并配置 PHP 版本Laravel 项目需要 PHP 8.2。在 FlyEnv 面板的“站点”模块里点击“添加站点”我填写如下内容域名api.laravel.demo根目录~/Code/api.laravel.demo/publicPHP 版本8.2伪静态Laravel设置好之后FlyEnv 会自动完成 Nginx 配置的写入与重载。我顺手在.env中把数据库连接指向127.0.0.1:3306账密为root/root。然后在浏览器输入http://api.laravel.demo项目首页很快就出来了。我还特意留意了一下 Nginx 的日志没有出现502 Bad Gateway这说明 PHP-FPM 和 Nginx 之间的桥接配置也自动处理好了。4.4 第三步给 Node.js 和 Redis 项目设置工作区Node 项目的配置方式和 PHP 项目有点区别不需要像站点那样绑定 Nginx。我给这个node-express-demo建了一个“本地项目”并把项目路径指进去同时在该项目的运行环境设置里选择 Node.js 版本为 20。FlyEnv 的“项目本地终端”功能是我非常喜欢的一项特性在项目详情页点击“打开终端”以后它会在项目根目录打开一个新的终端窗口并且自动把 Node.js 20 的 bin 目录加入到 PATH 最前面。也就是说我在这个终端里输入node -v就会得到 v20.x而不会和全局默认版本混淆。之后在终端里正常执行npm install、npm run start就能把服务跑起来。服务占用的端口我设置成 3000测试接口http://localhost:3000/api/heartbeat正常返回 JSON。Redis 的使用就更加无感了服务已经在 FlyEnv 主面板上启动我在项目里用默认配置连接127.0.0.1:6379即可。4.5 第四步Java 项目与 JDK 版本指定比较棘手的是 Spring Boot 项目它依赖 JDK 17。我在 FlyEnv 的运行时装了一项 JDK 17然后创建了一个“项目”节点绑定到springboot-demo目录并在“运行环境”里明确指定使用 JDK 17。在这之后由 FlyEnv 打开的终端里会自动设置JAVA_HOME/path/to/jdk-17执行mvn spring-boot:run时项目就以 JDK 17 启动。这个项目的数据库连接我配置到127.0.0.1:3307对应我在 FlyEnv 里安装的另一个 MySQL 5.7 实例两个 MySQL 实例同时运行一个在 3306、一个在 3307完全没有冲突。不过说实话Java 项目的启动过程相对比较慢尤其是第一次需要下载 Maven 依赖。不过环境层面没有给我找任何麻烦这一点我觉得很值。4.6 实操中的配置要领整个实操过程走下来有几个配置要领值得总结。第一版本绑定要提前规划。不要在项目跑了一半才发现某个项目需要 PHP 8.2但面板只装了 8.1。拿到一个新项目先看它的composer.json或package.json里要求的版本范围然后在 FlyEnv 里提前装好对应的运行时。第二数据库初始化脚本最好统一管理。FlyEnv 虽然提供了图形化建库入口但你的项目发布说明里如果有 migration 或 seed 脚本还是统一用一个 SQL 目录管理起来方便在团队成员之间共享。你可以在 FlyEnv 面板里直接执行 SQL 文件也可以把 SQL 文件放在项目里用命令行导入。第三域名后缀要统一。我在团队里习惯统一用.test后缀的本地域名大家在初始化前就约定好规则不要一会儿用.dev、一会儿用.localhost不然配置共享时会面对很多无意义的问题。这里插一句.dev在某些环境下会被强制跳转到 HTTPS而本地证书没有配置好的话就会导致访问异常所以建议还是避开.dev用.test或.loc更省心。4.7 该项目启动后的日常维护项目跑起来后日常主要工作就是根据需求启停服务、盯着日志。FlyEnv 面板上每个组件都有实时日志展示对于排查错误信息非常方便。比如 Laravel 项目偶尔报 500 错误我不用去翻storage/logs/laravel.log直接在面板上看 PHP-FPM 的 stdout/stderr 日志就行基本上能很快定位到错误类型。有时需要改代码FlyEnv 也提供了文件管理入口可以直接在面板里打开项目目录。不过我个人还是习惯用 VS Code所以这部分功能用得不多但对不熟悉命令行的同学来说面板内置的文件编辑功能还是挺友好的。5. 常见问题排查与避坑清单用 FlyEnv 的这些日子我确实踩过几次坑也遇到过一些因为环境导致的疑难杂症。这里挑几个有代表性的问题写下来希望能帮你省几次折腾。5.1 端口被占用导致服务无法启动表现当你点击启动 Nginx 或 MySQL服务按钮在几秒后弹回“停止”状态面板日志里出现bind() to 0.0.0.0:80 failed或Address already in use这样的报错。解决办法检查是不是已经存在同端口服务。macOS 上可以用lsof -i :80 -P | grep LISTEN锁定占用进程Windows 上可以用netstat -ano | findstr :80。如果是系统自带的 Apache 占了 80 端口需要在系统偏好设置或服务管理里关掉再回到 FlyEnv 开启。避坑建议不要在第 80 端口上面跟系统自带服务死磕比较干净的做法是让 FlyEnv 的 Nginx 监听 8080 端口然后通过.test域名加上端口的方式访问或者你把系统自带服务停了再改回来也行。我自己常用 80 端口所以在 macOS 上直接把系统里占用的服务停掉图个省事。5.2 PHP 扩展缺失导致 Laravel 无法运行表现安装好 PHP 8.2 后启动 Laravel 项目页面却提示The PHP exif extension is required或The PHP intl extension is required之类。原因FlyEnv 默认安装的 PHP 只是打了基础扩展部分扩展面具没有默认开启。解决办法在 FlyEnv 面板的 PHP 组件设置里找到“扩展”选项卡把 exif、intl、bcmath、zip 这些常用扩展勾上然后重启 PHP 服务即可。注意某些扩展和 PHP 版本之前有关系不是越新越好要根据项目依赖选择。比如老项目可能需要mcrypt但 PHP 7.4 之后就没有这个扩展了这时候你只能选 PHP 7.4 的运行时或者调整项目代码。5.3 Node.js 版本切换不生效表现在 FlyEnv 里将项目绑定到 Node 20但终端执行node -v仍然是全局旧的版本。原因大部分情况下是因为你打开的是系统终端而不是 FlyEnv 的“项目终端”。FlyEnv 对环境变量的注入是在自己启动的子终端里生效的系统终端路径下它管不到。解决办法在 FlyEnv 项目详情页使用“打开终端”按钮或者确保你在项目目录下执行了它提供的一些初始化脚本。如果你非要使用系统终端可以手动执行sourceFlyEnv 生成的某个环境脚本具体路径在项目配置详情里有显示。避坑建议有条件的话尽量使用 FlyEnv 提供的终端窗口做项目相关操作这能减少很多这类环境 PATH 的问题。5.4 数据库连接不上的常见因素表现项目提示SQLSTATE[HY000] [2002] Connection refused数据库客户端完全无法连接。排查顺序如下先看 MySQL 是否已经在 FlyEnv 面板上启动成功。确认端口和凭据是否正确。FlyEnv 默认端口 3306用户名 root密码 root。如果你的项目对数据库所在主机填的是localhost而 PHP 的 PDO 驱动在某些系统上会尝试通过 socket 文件连接你可以把 host 改成127.0.0.1强制走 TCP很多连不上的问题也随之解决。检查 FlyEnv 的 MySQL 配置中是否开启了 bind-address 限制默认应该监听 127.0.0.1。这类问题处理起来并不复杂核心是搞清楚连接协议是走 TCP 还是 socket以及对应的端口、用户、密码、权限是否匹配。5.5 服务关闭后再次启动异常表现某次打开电脑发现之前启动的 MySQL 被自动关闭了手动点击启动却迟迟不成功。原因FlyEnv 在关闭时没有正常停止服务导致 MySQL 的 PID 文件和 socket 文件处于脏状态。解决办法打开 FlyEnv 的“服务异常修复”功能或者在命令行里手动删除数据目录下的*.pid文件和*.sock文件再重新启动服务即可。更稳妥的做法是在你关机前明确把 FlyEnv 的组件全部停止在设置里还可以勾选“关闭面板时自动停止所有服务”这样避免非正常退出带来的脏状态。5.6 常见问题速查表问题现象可能原因快速解决服务启动后自动停止端口被占用查端口占用并释放端口或修改为其他端口访问站点返回 502PHP-FPM 未启动在 FlyEnv 确认对应 PHP 版本已启用访问站点返回 404伪静态配置不对在站点设置里选择正确框架的伪静态规则数据库连接被拒绝账号/端口/Host 不对改 host 为 127.0.0.1确认端口和密码Node 版本不生效打开的是系统终端改用 FlyEnv 项目终端本地 HTTPS 证书不受信证书未加入系统信任在站点设置点击“安装证书”或手动信任根证书6. 个人向心得FlyEnv 是否适合你说实话FlyEnv 并不适合所有人。如果你的工作流固定在 Docker 容器里或者你的项目全部是单一语言并且你已经用得很顺那可能没有必要更换。但如果你和我一样平时会同时处理 PHP、Node.js、Java 等多个技术栈并且每隔一段时间就要在新电脑上重新搭环境那 FlyEnv 带来的效益非常可观——它把“环境配置”这种重复性劳动压缩到几乎没有。我对 FlyEnv 最大的感受是它把本地开发环境的复杂度从“系统级”降到了“项目级”。在以前一个项目能不能跑起来取决于你系统全局环境的状态是不是刚好合适任何新装的软件都可能影响既有项目现在FlyEnv 管理的运行时是隔离的项目绑定哪套版本就用哪套版本全局环境越来越干净项目之间的依赖也不再互相踩踏。另外有一点让我觉得很有价值就是 FlyEnv 的社区文档成长得挺快。早期有个版本在 Windows 上对中文目录的支持不够好后来更新后问题解决了。开发团队也比较积极有问题去提 issue 会得到比较快的回复。这也是我敢向团队推荐它的原因之一——工具再强大没有持续的维护和更新迟早会变成新的“环境坑”。最后分享一个小技巧如果你团队里有人用的是 Windows有人用的是 macOS建议在仓库里统一放一份 FlyEnv 配置文件这样大家在拿到代码后只要导入这份配置启动对应服务就能确保所有人本地环境一致。我已经这样实践了几个月再也没有同事来问我“为什么你那边能跑我这边跑不了”了。环境一致性做好之后全栈开发的效率才真正体现出来。
返回列表