ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

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

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)报错codexfile:///mnt/d/PFiles/nvm/v22.22.2/node_modules/openai/codex/bin/codex.js:107throw new Error(^Error: Missing optional dependency openai/codex-linux-x64. Reinstall Codex: npm install -g openai/codexlatestat 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:20at 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 20nvm install 20切换到 Node 20nvm 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
返回列表