Windows10下npm全局安装Yarn后执行命令报错无法使用
Windows 10 全局安装Yarn后执行报
This: command not found修复方案 问题根因
该报错是npm全局目录下异常生成了错误的node脚本文件,终端执行全局命令时误调用了这个错误脚本,把脚本里的文本内容当成shell命令解析触发的,和Yarn安装包本身无关。
出问题的环境与异常表现参考:
- 操作系统:Windows 10
- Node版本:v16.14.0
- npm版本:8.3.1
- 异常表现:npm全局安装Yarn返回成功提示(更新1个包、审计2个包无漏洞),但执行
yarn命令直接报错:
C:\Users\G023911\AppData\Roaming\npm/node_modules/node/bin/node: line 1: This: command not found
修复步骤
- 先卸载异常安装的Yarn
npm uninstall yarn -g
- 清理异常的错误脚本文件
执行命令查询npm全局模块根目录:
npm root -g
从返回的路径往上退一级,进入npm根目录(和报错路径对应就是C:\Users\G023911\AppData\Roaming\npm),找到该目录下名为node的无后缀文件,直接删除即可。别担心删错,真正的node.exe在Nodejs的安装目录里,不在这个npm全局目录下,这个文件是安装过程中异常生成的无效脚本,打开就能看到第一行是普通文本,终端把它当命令跑才会触发上述报错,是问题的直接诱因。
3. 校验环境变量配置
检查系统环境变量Path里的两项配置:
- Nodejs安装目录(默认路径为
C:\Program Files\nodejs),确保路径指向本地真实的node.exe所在位置 - npm全局目录(就是第二步里找到的npm根目录,比如
C:\Users\G023911\AppData\Roaming\npm)
删除Path里和以上两个路径重复、指向错误的node相关路径,避免路径优先级错乱导致调用错文件。
- 重新安装验证
完全关闭当前所有终端窗口,重新打开一个新的终端(旧终端会缓存旧的环境变量和路径关联,必须重启才能加载新配置),重新执行Yarn安装命令:
npm install yarn -g
安装完成后执行yarn -v,能正常输出版本号即修复完成。
避坑提示
如果本地是用nvm-windows管理多版本Node,切换Node版本后先执行npm config get prefix确认全局安装路径和当前Node版本匹配,不要残留旧版本的路径配置,否则很容易反复出现这类全局命令调用异常。
内容的提问来源于stack exchange,提问作者jesetera
相关产品推荐
相关产品推荐

