网站开发环境

装好一台能跑代码的网站机器,比选什么框架重要得多。环境我见过太多人卡在第一步:Node.js 版本冲突、网站Python 虚拟环境混乱、环境数据库连不上,网站折腾两天,环境热情先凉了一半。网站开发环境不是环境配角,它直接决定你写代码时是网站顺手还是窝火。

先说操作系统。环境Windows 做前端开发没问题,网站但跑 Docker 或某些 Node 原生模块时,环境WSL2 几乎是网站必选项。我自己的环境主力机是 macOS,M 系列芯片跑本地编译快得离谱,网站但偶尔遇到 x86 专用二进制包还是得靠 Rosetta 转译。Linux 桌面版对后端和运维最友好,包管理、权限、网络配置都直白。选哪个都行,关键是别在系统层面反复重装——时间花在配环境上,不如去读源码。

版本管理工具是第二个坎。nvm 管 Node,pyenv 管 Python,conda 也能凑合,但别混用。我有个朋友用 conda 装了 Python 3.9,又用 pyenv 切到 3.11,结果 pip 装包全进了 conda 的 site-packages,查了半天才发现 PATH 顺序错了。这种坑不致命,但恶心。统一用一个版本管理器,把 shell 配置写清楚,`which python` 和 `which node` 的输出要能一眼看懂。

编辑器或 IDE 的选择反而没那么纠结。VS Code 加插件能覆盖九成场景,JetBrains 系对 Java 和 Python 的重构支持更细。我写前端用 VS Code,写 Go 或 Rust 会切到 Goland 或 CLion,不是因为哪个更好,而是调试器和索引速度有差异。别迷信“最佳配置”,自己顺手就行。配置文件同步用 Settings Sync 或 dotfiles 仓库,换机器十分钟恢复。

数据库和中间件尽量用 Docker 跑。本地直接装 MySQL 或 Redis 不是不行,但版本升级、端口冲突、数据清理都麻烦。一个 docker-compose.yml 把 Postgres、Redis、RabbitMQ 全拉起来,`docker compose down -v` 就能重置。我习惯把数据卷挂到项目目录下的 .data 文件夹,删项目时一起删,不留垃圾。性能上 Docker 有轻微损耗,但开发阶段那点延迟根本感知不到。

依赖管理别偷懒。npm 用 package-lock.json,yarn 用 yarn.lock,pnpm 也行,但团队里统一一种。Python 用 poetry 或 pip-tools,别直接 pip freeze 了事。我见过 requirements.txt 里混着本地路径和系统包,换台机器就装不上。锁文件要提交到 Git,CI 里用 `npm ci` 而不是 `npm install`,前者严格按锁文件装,后者可能悄悄升级小版本。

最后说网络。公司内网有代理,家里直连,咖啡厅可能要走 VPN。环境变量 HTTP_PROXY 和 NO_PROXY 要配好,否则 npm、pip、git 各走各的代理,报错信息还不同。我习惯在 .zshrc 里写几个 alias,比如 `proxyon` 和 `proxyoff`,切换起来不费脑子。DNS 污染偶尔遇到,改 hosts 或换 DoH 能救急。

开发环境没有标准答案,但有底线:能一键重建、版本可追溯、依赖不打架。花半天写个 setup.sh 或 Makefile,比每次重装系统后凭记忆敲命令靠谱得多。环境稳了,写代码才谈得上效率。