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

相关推荐
H.莓飛1 小时前
【数据结构】栈
linux·开发语言·数据结构·算法·centos
LRL_1 小时前
【云原生】Oracle Linux 9.6 离线(Air-Gapped)环境下安装 Longhorn 及其底层依赖(iSCSI/NFS)完全指南
linux·云原生·oracle
高山有多高1 小时前
【Linux笔记】线程同步与互斥
linux·笔记
星间都市山脉1 小时前
RecoveryUI 圆角屏安全边距配置及代码调用链
android·java·linux·windows·ubuntu
泡海椒1 小时前
JQuick-Excel JQuickRow 数据准备实战:JObjectConverter、JQuickRow.toRows 与 XML 导出链路
xml·windows·excel
rest10241 小时前
对主从复的理解
linux
忆挽篱笙歌1 小时前
linux开发工具
linux·运维·ubuntu
王维同学2 小时前
ETW监控-KswordARK功能展示
c++·windows·安全
左手の明天11 小时前
SLIP 协议封装与解析详解:原理、C 代码与实战案例
linux·c语言·开发语言·c++