ARM服务器在安装宝塔后,如果想用pnpm,有时候自动安装的是X86版本,导致无法启动,提示bash: /usr/bin/pnpm: cannot execute binary file: Exec format error,这时候应该换成ARM版本的来安装。
解决方案(逐步操作)
1. 确认系统架构
运行以下命令,查看你的 CPU 架构:
uname -m
- 如果输出
aarch64
或arm64
→ ARM 架构 - 如果输出
x86_64
→ x86 架构
2. 如果是 ARM 设备(如树莓派、华为鲲鹏、苹果 M1/M2)
方案 A:使用 nvm
安装正确的 Node.js 版本(推荐)
# 安装 nvm(Node 版本管理器) curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.bashrc # 重新加载 shell # 安装最新 LTS 版本的 Node.js(自动匹配架构) nvm install --lts # 验证 Node.js 版本和架构 node -v uname -m
这会确保 Node.js 和 pnpm
的二进制文件与你的 ARM 设备兼容。
方案 B:手动下载 ARM 版 Node.js
如果不想用 nvm
,可以手动下载 ARM 版 Node.js 16(但建议升级到 Node.js 18+):
- 访问 Node.js 下载页
- 选择
linux-arm64.tar.gz
(如果是 ARM 设备) - 解压并安装:
wget https://nodejs.org/download/release/v16.19.1/node-v16.19.1-linux-arm64.tar.gz tar -xzf node-v16.19.1-linux-arm64.tar.gz cd node-v16.19.1-linux-arm64 sudo cp -R bin/* /usr/local/bin/ sudo cp -R lib/* /usr/local/lib/
3. 重新安装 pnpm
npm install -g pnpm@8
或者使用 corepack
(Node.js 16+ 内置):
corepack enable corepack prepare pnpm@8 --activate
4. 验证 pnpm
是否可运行
pnpm -v
如果仍然报 Exec format error
,可能是 PATH 问题,尝试:
which pnpm # 查看 pnpm 安装位置 /usr/local/bin/pnpm -v # 直接调用绝对路径
如果问题仍然存在
- 检查 Node.js 架构是否匹配
node -p "process.arch" # 应该输出 'arm64'(如果是 ARM 设备)
- 如果输出
x64
,说明 Node.js 是 x86 版本,需要重新安装 ARM 版。
- 如果输出
- 完全卸载 Node.js 并重装
sudo apt purge nodejs npm # 如果之前是用 apt 安装的 sudo rm -rf /usr/local/bin/node /usr/local/bin/npm # 然后重新安装(用 nvm 或手动下载 ARM 版)
原文链接:https://www.dqzy.cn/2025/04/20/425.html,转载请注明出处。
1、本站所有源码资源(包括源代码、软件、学习资料等)仅供研究学习以及参考等合法使用,请勿用于商业用途以及违法使用。如本站不慎侵犯您的版权请联系我们,我们将及时处理,并撤下相关内容!
2、访问本站的用户必须明白,本站对所提供下载的软件和程序代码不拥有任何权利,其版权归该软件和程序代码的合法拥有者所有,请用户在下载使用前必须详细阅读并遵守软件作者的“使用许可协议”,本站仅仅是一个学习交流的平台。
3、如下载的压缩包需要解压密码,若无特殊说明,那么文件的解压密码则为:www.dqzy.cn。
4、点启资源网是一个免费且专业分享网站源码、图片素材、特效代码、教程文章、站长工具的平台。我们努力给站长提供好的资源!
评论0