Rails项目运行报Autoprefixer不支持Node v8.17.0,安装mini_racer失败如何解决?
问题解决步骤
方案1:优先升级Node(推荐,彻底解决原始报错)
你最初的报错是Node版本过低导致Autoprefixer不兼容,直接升级Node即可跳过安装mini_racer的步骤,操作最简单:
- 如果你使用nvm管理Node版本,执行命令:
nvm install 16 nvm use 16
- 升级完成后重启Rails服务即可正常运行。
方案2:若环境不允许升级Node,修复mini_racer编译报错
你的报错根因为libv8-node自动安装了musl架构的预编译包,和你使用glibc的Linux系统不匹配,找不到对应的依赖文件,按以下步骤修复:
- 先卸载已安装的错误版本libv8-node:
gem uninstall libv8-node --all
- 手动安装对应glibc系统的libv8-node版本:
gem install libv8-node -v '16.10.0.0' --platform=x86_64-linux
- 重新执行bundle安装:
bundle install
如果上述操作仍报错,可修改Gemfile指定包的适配平台:
gem 'mini_racer', '~> 0.5.0' gem 'libv8-node', '~> 16.10.0.0', platforms: [:x86_64_linux]
修改后重新执行bundle install即可。
如果你使用的是Alpine Linux等musl架构系统,需先安装编译依赖:apk add build-base python3,再执行上述安装操作
内容的提问来源于stack exchange,提问作者Muhammad Jafar
相关产品推荐
相关产品推荐

