Win11 PowerShell安装Codex报错?执行策略修改教程

2026-06-22阅读 0热度 0
PowerShell
在Windows 11上通过PowerShell安装Codex时,经常遇到“npm.ps1无法加载,因为系统禁止运行脚本”的报错。这不属于Codex本身的故障,而是PowerShell默认的执行策略“Restrict”拦截了所有.ps1脚本——包括npm、npx等。本质上是Windows的安全机制在起作用,只需调整策略即可绕过。 问题根源很清晰:PowerShell默认只允许运行已签名的脚本,而Node.js工具生成的.ps1文件(如npm.ps1)未被签名。解决方案分两条路:允许本地脚本执行,或完全避开PowerShell改用其他终端。 先检查当前执行策略。以管理员身份打开Windows Terminal或PowerShell,执行: ``` Get-ExecutionPolicy -List ``` 输出中重点关注 **CurrentUser** 和 **MachinePolicy** 两行。若CurrentUser显示`Restricted`,说明当前用户被严格限制,任何.ps1脚本都无法运行;若显示`Undefined`,则继承系统级策略,大概率也是禁止状态。务必先确认这一步,否则后续操作可能无效。 推荐方案:仅对当前用户启用 **RemoteSigned** 策略。该策略允许本地编写的.ps1脚本(如npm.ps1)直接运行,而网络下载的脚本需经过可信签名。既保障安全,又解决问题。 具体步骤: 1. 在管理员权限的PowerShell中执行: ``` Set-ExecutionPolicy RemoteSigned -Scope CurrentUser ``` 2. 系统提示是否更改执行策略,输入 **Y** 并回车确认。 3. **关键**:关闭当前所有PowerShell/Windows Terminal窗口,重新打开一个新窗口,再运行 `npm i -g @openai/codex`。不重启终端,PATH和策略缓存不会刷新——根据经验,90%的用户会在这里翻车。 若没有管理员权限,或只想快速验证Codex功能,可用临时方案:打开任意PowerShell(无需管理员),执行: ``` Set-ExecutionPolicy RemoteSigned -Scope Process ``` 此命令仅影响当前会话,关闭窗口后策略恢复原状。或者直接用cmd替代PowerShell:Win + R → 输入cmd → 回车 → 执行`npm i -g @openai/codex`。在cmd环境下,npm命令直接可用,无需修改任何策略。 更彻底的路径是启用WSL2。如果你的Windows用户名包含中文(如`C:\Users\张三`),或反复修改策略仍失败,那么WSL2是OpenAI官方推荐的环境——注意,Codex CLI在Windows原生环境下仍属于experimental状态,而WSL2提供稳定支持。 操作步骤:以管理员身份运行PowerShell,依次执行以下两条命令(注意不要重启): ``` Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart ``` 之后重启电脑,再以管理员身份运行PowerShell执行: ``` wsl --install ``` 安装完成后,在WSL终端里直接运行`npm install -g @openai/codex`,全程不涉及Windows的PowerShell执行策略,干净省心。
免责声明

本网站新闻资讯均来自公开渠道,力求准确但不保证绝对无误,内容观点仅代表作者本人,与本站无关。若涉及侵权,请联系我们处理。本站保留对声明的修改权,最终解释权归本站所有。

相关阅读

更多
欢迎回来 登录或注册后,可保存提示词和历史记录
登录后可同步收藏、历史记录和常用模板
注册即表示同意服务条款与隐私政策