【教程】Codex 在 Windows 上默认调用 PowerShell 7

Jurio 2026-07-11 19:24 1

经常用Windows+codex app做开发的佬友应该都遇到过codex说自己“又被Powershell咬了一口”的问题。


最常见的典型问题包括但不限于:中文路径异常,引号嵌套容易炸,JSON、正则参数不好传等等···


我也经常在站里经常刷到佬友吐槽这些问题,也大概知道了是Codex 默认调用系统自带 PowerShell 5.1导致。但各有各的解决方案,有让codex自己修的,有建议使用WSL的(但之前磁盘事件导致不太敢用),还有大部分说用Powershell 7就好了,但很少看到有详细的解决codex默认调用Powershell 7的教程。然后自己尝试实践配置了一下,也踩了不少坑最后终于差不多算是解决了,而且后续使用了几天没有再发现过Powershell相关的问题,故此发个小教程,希望可以帮到部分被这个问题困扰的佬友。


大概分为三步:



  1. 安装 PowerShell 7

  2. pwsh.exe 所在目录加到系统 Path 并一定要前置到 PowerShell 5 之前!

  3. 觉得不保险可以在AGENT.md中加一句,最后重启 Codex


个人比较推荐去官方网页直接下载MSI包:





安装时如果看到类似 Add PowerShell to PATH 的选项,建议勾选。


安装完成之后,还需要去把目录加入系统 Path。操作路径如下:


系统属性 -> 高级 -> 环境变量 -> 系统变量 -> Path -> 编辑 -> 新建 -> 上移到PowerShell 5之前

如下图所示,一定要保证PowerShell 7的路径在PowerShell 5的上面! 这是codex优先调用PowerShell 7的关键一步。因为默认情况下PowerShell 7安装时间肯定更晚,即使加入系统 Path后位置也在PowerShell 5的下面,此时codex还是默认使用PowerShell 5,无法自动调用PowerShell 7。这也是我踩的坑之一。



最后,如果觉得不保险,可以在AGENT.md中加一句:


* 执行本地 shell 命令默认使用 PowerShell 7


改完之后,重启codex app即可使用,随便开个会话让 codex 自己验证一下执行shell命令时是否真的默认调用了Powershell 7:


最新回复 (4)
  • 小红书资深用户 07-11 19:28
    1

    这个有啥用呀 powershell7?

  • Lisp 07-11 19:28
    2

    中文路径异常,引号嵌套容易炸,JSON、正则参数不好传等等···



    尝试解决这些问题


    你这问的。。 ^-^

  • Jurio 楼主 07-11 19:36
    3

    就是codex app或者说现在ChatGPT app对Windows适配比较差,特别是codex调用默认的Powershell 5执行命令时频繁报错,但Powershell 7对这些问题兼容性很好,算是曲线救国 ^-^

  • 睡觉的蛋糕 08-14 22:10
    4

    我换成powershell7之后沙盒好像出问题了,没办法交互,有人遇到过吗,这怎么办

* 帖子来源Linux.do
返回