Windows环境下VS Code终端无法识别子文件夹及Node模块问题求助
解决Windows 11下Node.js开发环境脚本执行问题
1. 修复npm run local无法识别shell脚本的问题
Windows默认用Cmd/PowerShell执行npm脚本,不支持直接运行.sh文件,两种解决方式:
- 临时修改脚本:在package.json里指定用bash执行脚本
"local": "bash scripts/ops/start.sh true" - 永久设置npm默认shell:打开Git Bash执行以下命令(路径根据你的Git安装位置调整)
重启VS Code后再执行npm config set script-shell "C:\\Program Files\\Git\\bin\\bash.exe"npm run local即可。
2. 解决Git Bash中找不到本地node_modules模块的问题
本地安装的模块(如ts-node、next)需要通过正确路径调用:
- 直接执行时用npx:比如调用ts-node时用
npx ts-node [脚本路径],npx会自动查找本地node_modules/.bin下的可执行文件 - 在shell脚本中添加临时PATH:在
start.sh开头加入以下代码,把本地模块的bin目录加入当前会话的PATHexport PATH="./node_modules/.bin:$PATH" - 修复文件权限:Windows拉取的Linux脚本可能没有执行权限,在Git Bash中执行:
chmod +x scripts/ops/start.sh chmod +x node_modules/.bin/*
3. 清理优化PATH环境变量
你的PATH中重复出现多次nvm和nodejs路径,可能导致优先级混乱,按以下步骤清理:
- 打开Windows设置 → 系统 → 关于 → 高级系统设置 → 环境变量
- 在「用户变量」中找到
PATH,删除重复的C:\Users\Computer\AppData\Roaming\nvm和C:\Program Files\nodejs条目,仅保留一组 - 可选:在Git Bash的配置文件(
~/.bashrc或~/.bash_profile)中加入export PATH="./node_modules/.bin:$PATH",每次打开Git Bash都会自动加载本地模块路径
额外建议
- 不要直接拉取包含
node_modules的仓库,不同系统的依赖包存在兼容性差异,建议删除本地node_modules和package-lock.json,重新执行npm install - 用
nvm list确认当前激活的Node版本是v22.11.0,避免版本不匹配导致的问题
内容的提问来源于stack exchange,提问作者Charlie Peden
相关产品推荐
相关产品推荐

