Windows Terminal运行NX命令时路径出现/mnt前缀报错求助
解决Windows Terminal中NX + Strapi命令报错
node: not found(路径带/mnt前缀) 问题原因
报错里的/mnt/d/...是WSL(Windows子系统Linux)的路径格式,说明你的Windows Terminal当前运行环境和依赖安装环境不匹配:要么是用了WSL的shell但没在WSL里装Node,要么是用Windows原生shell但工具把路径转成了WSL格式,导致找不到Node。
解决步骤
1. 先确认当前终端环境
打开Windows Terminal,输入echo $SHELL(输出/bin/bash或/bin/zsh就是WSL环境),或者直接看终端标签栏的标识(比如Ubuntu、Debian是WSL,PowerShell/Command Prompt是Windows原生环境)。
2. 如果是WSL环境
- 在WSL内安装Node.js:
推荐用nvm管理版本,执行以下命令:curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # 重启终端后执行 nvm install --lts - 验证安装:输入
node -v和npm -v,能正常输出版本号就没问题。 - 重新在WSL终端进入项目目录,执行
npm install(确保依赖是WSL环境下的),再运行nx run cms:develop。
3. 如果是Windows原生环境(PowerShell/CMD)
- 确认Windows已装Node且环境变量正常:
在PowerShell里输入node -v,如果报错说明Node没装或者没加进环境变量,下载LTS版本安装时勾选"Add to PATH"选项。 - 调整NX配置指定Node路径:
修改apps/cms/project.json里的serve目标,添加nodePath指定Windows下Node的绝对路径:"serve": { "executor": "@nx-extend/strapi:serve", "options": { "nodePath": "C:\\Program Files\\nodejs\\node.exe" } } - 检查依赖安装环境:确保是在Windows终端里执行的
npm install,不要混用WSL和Windows的依赖包。
4. 额外排查
- 检查Windows Terminal的默认配置:打开设置,确认默认终端是不是你想用的环境(WSL或Windows原生),避免选错环境导致路径不兼容。
- 查看
node_modules/.bin/strapi脚本的开头,确认shebang是#!/usr/bin/env node,Windows环境下这个写法兼容,但前提是env能找到node。
内容的提问来源于stack exchange,提问作者jac0b95
相关产品推荐
相关产品推荐

