VS Code终端执行npm命令后自动从PowerShell切换为Node的问题
VS Code执行npm命令后终端切换到Node环境的原因及解决办法
原因分析
这种情况大概率是以下两种原因导致:- npm脚本配置错误:如果项目
package.json的scripts字段中,你执行的目标命令仅写了node(未指定要运行的JS文件),执行该npm命令时会直接进入Node的交互式REPL环境,终端就会显示为Node环境。 - npm全局shell配置异常:如果npm的默认shell被错误设置为
node.exe,执行npm命令时会自动切换到Node环境。
- npm脚本配置错误:如果项目
解决步骤
- 检查项目的
package.json
打开项目根目录的package.json,找到你执行的npm命令对应的脚本项。比如执行npm start就看scripts里的start字段,确保格式是类似"start": "node index.js"(指定要运行的JS文件),而非仅"start": "node"。 - 验证并修复npm shell配置
在终端执行命令查看当前npm默认shell:
如果返回的是Node可执行文件的路径,执行以下命令将其修改为PowerShell路径(Windows系统):npm config get shellnpm config set shell "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" - 检查VS Code终端默认配置
打开VS Code设置(快捷键Ctrl+,),搜索terminal.integrated.defaultProfile.windows,确认默认终端选项为PowerShell,而非其他Node相关的终端配置。
- 检查项目的
内容的提问来源于stack exchange,提问作者gopal prabhu
相关产品推荐
相关产品推荐

