wsl下使用npm,错误识别到了windows下的npm

这里写自定义目录标题

报错

codex

file:///mnt/d/PFiles/nvm/v22.22.2/node_modules/@openai/codex/bin/codex.js:107

throw new Error(

^

Error: Missing optional dependency @openai/codex-linux-x64. Reinstall Codex: npm install -g @openai/codex@latest

at findCodexExecutable (file:///mnt/d/PFiles/nvm/v22.22.2/node_modules/@openai/codex/bin/codex.js:107:9)

at file:///mnt/d/PFiles/nvm/v22.22.2/node_modules/@openai/codex/bin/codex.js:112:20

at ModuleJob.run (node:internal/modules/esm/module_job:325:25)

at async ModuleLoader.import (node:internal/modules/esm/loader:606:24)

at async asyncRunEntryPointWithESMLoader (node:internal/modules/run_main:117:5)

问题的根本原因:

WSL (Windows Subsystem for Linux) 有一个特性:默认会将 Windows 的系统环境变量(PATH)追加到 Linux 的 PATH 中。

因为你在 WSL 中没有配置自己的 Node.js,或者 WSL 的 Node 路径优先级不够高,导致你在 WSL 终端输入 codex 时,WSL 跨系统调用了你 D盘 Windows 版的 Node 和 npm 全局包。

Windows 版的 npm 安装时只会下载 Windows 的二进制依赖(windows-x64),但当这个脚本在 WSL 环境执行时,它检测到当前系统环境是 Linux,于是去寻找 Linux 的依赖包(linux-x64),自然找不到,从而报错。

要彻底解决这个问题,需要在 WSL 内部安装一个独立的 Linux 版 Node 环境,并确保 WSL 优先使用它。

下载并安装 nvm (以 v0.40.1 为例)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

让环境变量立即生效 (如果你用的是 zsh,请将 bashrc 换成 zshrc)

source ~/.bashrc

安装 Node 20

nvm install 20

切换到 Node 20

nvm use 20

将 Node 20 设置为 WSL 默认的 Node 版本(每次打开终端自动使用)

nvm alias default 20

下载并安装 nvm (以 v0.40.1 为例)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.1/install.sh | bash

让环境变量立即生效 (如果你用的是 zsh,请将 bashrc 换成 zshrc)

source ~/.bashrc

相关推荐
贵州诚鑫致达科技有限公司2 小时前
Linux的yum源怎么重启?源不是服务
linux·运维·服务器
遇印记3 小时前
传输层,网络层
运维·服务器·网络·windows·学习
又見山4 小时前
Obsidian 跨平台同步实测:Nutstore Sync 在 Windows、Mac、Linux、iOS、Android 全平台综合测评
windows·macos·obsidian·obsidian同步·obsidian教程·obsidian入门·obsidian笔记库搭建
澜山奕秋5 小时前
RHCSA
linux·运维·服务器
jearry6 小时前
一个编辑器两个内核:Markdown 实时视图与源码视图并存时的竞态、光标锚点与 PDF 导出
windows·markdown
逆向编程6 小时前
DirectX修复工具下载安装教程-Windows系统DLL缺失检测修复完整图文步骤
windows
Web极客码6 小时前
告别流式截断:我用客户端中间件解决长文本 API 跨国 SSE 断连与数据自愈
linux·agent 图
cnnews6 小时前
Chromebox3安装Ubuntu后内存化与最小化 eMMC 写入优化
linux·运维·ubuntu
flytalei7 小时前
Ubuntu 24.04 单节点 K3s 部署实践:从环境评估到故障排查与验收
linux·运维·ubuntu
Starry-sky(jing)7 小时前
Hermes Agent 部署后怎么升级?v0.21.7 Linux 源代码版实测
linux·人工智能·ai agent·版本升级·hermes agent