<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>开发环境 on PlumePHP</title><link>https://plumephp.com/tags/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/</link><description>Recent content in 开发环境 on PlumePHP</description><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Mon, 28 Sep 2026 10:00:00 +0800</lastBuildDate><atom:link href="https://plumephp.com/tags/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/index.xml" rel="self" type="application/rss+xml"/><item><title>Nix Flake 模板实战：从零搭建多语言项目脚手架</title><link>https://plumephp.com/nix-flake-templates/</link><pubDate>Mon, 28 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-flake-templates/</guid><description>&lt;h2 id="引言"&gt;引言&lt;/h2&gt;
&lt;p&gt;每个新项目都要「从零配一遍环境」——语言版本、工具链、CI 配置，换个机器又得重来。&lt;strong&gt;Nix Flake 模板&lt;/strong&gt;把这些固化成一个可复用的 &lt;code&gt;flake init&lt;/code&gt; 模板：一条命令初始化出带 devShell、构建、检查、CI 的项目骨架。本文讲清模板体系、常用模板、以及如何自建团队的标准化模板。&lt;/p&gt;</description></item><item><title>可复现开发环境：devenv.sh、devShells 与 direnv</title><link>https://plumephp.com/nix-devenv-reproducible-dev/</link><pubDate>Sat, 26 Sep 2026 13:00:00 +0800</pubDate><guid>https://plumephp.com/nix-devenv-reproducible-dev/</guid><description>&lt;h2 id="1-开发环境的最后一公里难题"&gt;1. 开发环境的「最后一公里」难题&lt;/h2&gt;
&lt;p&gt;包可以复现、构建可以缓存，但&lt;strong&gt;开发者的 shell 环境&lt;/strong&gt;仍然充满非确定性：&lt;code&gt;node --version&lt;/code&gt; 是 18 还是 20？&lt;code&gt;PYTHONPATH&lt;/code&gt; 指向哪？&lt;code&gt;pre-commit&lt;/code&gt; 装的钩子版本对吗？换台机器、换个同事，环境就漂移。&lt;/p&gt;</description></item><item><title>Nix Shell 开发环境</title><link>https://plumephp.com/nix-shell-development/</link><pubDate>Tue, 22 Sep 2026 10:00:00 +0800</pubDate><guid>https://plumephp.com/nix-shell-development/</guid><description>&lt;h2 id="1-可复现开发环境的痛点"&gt;1. 可复现开发环境的痛点&lt;/h2&gt;
&lt;p&gt;传统开发环境管理面临诸多挑战：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&amp;ldquo;在我机器上能跑&amp;rdquo;&lt;/strong&gt;：不同开发者安装的开发工具版本不同，导致构建失败或行为不一致&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;依赖版本冲突&lt;/strong&gt;：项目需要 &lt;a href="https://plumephp.com/posts/python/"&gt;Python&lt;/a&gt; 3.9，但系统默认是 Python 3.11，全局安装会破坏其他项目&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;新员工入职&lt;/strong&gt;：需要数天安装和配置开发工具链，文档往往过时&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://plumephp.com/posts/devops/"&gt;CI/CD&lt;/a&gt; 漂移&lt;/strong&gt;：本地构建通过但 CI 失败，因为 CI 环境用了不同的工具版本&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Nix Shell 通过声明式配置解决了这些问题：开发环境配置以代码形式存储在项目仓库中，新成员只需运行一个命令即可获得完全一致的开发环境。&lt;/p&gt;</description></item></channel></rss>