WSL2 Ubuntu20.04下brew安装node后zsh执行格式错误求助
问题解决:WSL2 Ubuntu 20.04中brew安装node后执行报错
问题现象
执行node命令时提示:
zsh: exec format error: node
执行npm命令时出现乱码错误:
/home/linuxbrew/.linuxbrew/bin/node: 1: 0�: not found /home/linuxbrew/.linuxbrew/bin/node: 1: �: not found /home/linuxbrew/.linuxbrew/bin/node: 1: ����: not found /home/linuxbrew/.linuxbrew/bin/node: 1: ʌ�,�/W�%r��@�:,2�F�: not found /home/linuxbrew/.linuxbrew/bin/node: 1: ELF: not found /home/linuxbrew/.linuxbrew/bin/node: 1:R�td0�0�E0�E�K�KP�P�EP�E: not found /home/linuxbrew/.linuxbrew/bin/node: 2: K�/�q: not found /home/linuxbrew/.linuxbrew/bin/node: 1: � : not found �0�0�E0�E�O� /home/linuxbrew/.linuxbrew/bin/node: 10: Syntax error: ")" unexpected
原因分析
该错误是因为安装的node二进制文件与WSL2的x86_64架构不兼容,导致shell无法正确识别执行二进制文件,进而将其当作脚本解析产生乱码错误。
解决步骤
- 卸载当前有问题的node包:
brew uninstall node - 确认WSL2的系统架构,执行命令验证:
正常应输出uname -mx86_64,若输出其他架构,需检查WSL2的配置是否正确。 - 更新brew并重新安装node:
brew update brew install node - 若之前手动指定过错误的brew架构,执行以下命令重置后重装:
unset HOMEBREW_ARCH brew reinstall node - 检查PATH优先级,确保brew安装的node路径在最前端:
执行echo $PATH,查看/home/linuxbrew/.linuxbrew/bin是否在路径列表的最前面。如果不在,编辑~/.zshrc文件,添加:
然后刷新配置:export PATH="/home/linuxbrew/.linuxbrew/bin:$PATH"source ~/.zshrc - 最后验证安装是否成功:
若正常输出版本号,说明问题解决。node -v npm -v
内容的提问来源于stack exchange,提问作者Yossi Shemesh
相关产品推荐
相关产品推荐

