news 2026/10/3 13:03:50

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
wsl下使用npm,错误识别到了windows下的npm

这里写自定义目录标题

  • 报错
  • 问题的根本原因:
  • 下载并安装 nvm (以 v0.40.1 为例)
  • 让环境变量立即生效 (如果你用的是 zsh,请将 bashrc 换成 zshrc)
  • 安装 Node 20
  • 切换到 Node 20
  • 将 Node 20 设置为 WSL 默认的 Node 版本(每次打开终端自动使用)
  • 下载并安装 nvm (以 v0.40.1 为例)
  • 让环境变量立即生效 (如果你用的是 zsh,请将 bashrc 换成 zshrc)

报错

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/3 13:02:24

TCP 协议:报文头、连接管理、可靠传输与窗口

TCP 协议:报文头、连接管理、可靠传输与窗口 课程:尚硅谷《嵌入式 Linux 应用层开发》第 6 章 Socket 编程 依据:2026-09-29 20:51 录音转写;课程 PDF 第 254—264 页。 本节边界:讲 TCP 原理和窗口机制;第…

作者头像 李华
网站建设 2026/10/3 13:02:24

【技术专题】Mysql8 数据库 - Mysql8 客户端sqlyog安装以及配置

大家好,我是Java1234_小锋老师,最近更新 《一天学会 Mysql8 视频教程(无废话版) 》专辑,感谢大家支持。 本课程主要介绍和讲解 Mysql8简介,安装以及配置,客户端sqlyog 安装以及配置,数据库基本操作&#x…

作者头像 李华
网站建设 2026/10/3 13:01:16

AI Agent项目实战:工具调用、记忆、规划和可观测性

摘要:一篇能直接复用的项目实战 这是一篇可以直接照着做的大模型与智能体长文项目实战。项目面向“自动处理工单、查询数据库、生成报告和协调多步骤任务”,核心方法是“ReAct、计划执行、工具路由、短期/长期记忆、失败重试”,技术栈以Python、LangGraph、FastAPI、Postgr…

作者头像 李华