Windows10下安装mini_racer与libv8-node时Gem原生扩展构建失败求助
解决Jekyll构建中mini_racer/libv8-node相关错误的步骤
问题梳理
- 运行
bundle exec jekyll serve提示缺失mini_racergem,执行bundle install时出现libv8-node 18.16.0.0原生扩展构建失败,原因是无法自动下载Node.js 18.16.0 - 尝试
gem install libv8时,提示需要Python 2但未安装 gem update无效果,winget install ruby-dev找不到匹配包
具体解决方法
方法1:指定libv8-node预编译版本(Windows环境优先)
修改项目根目录的Gemfile,添加适配Windows的libv8-node版本约束:
gem 'libv8-node', '~> 18.16.0', platforms: [:mingw, :x64_mingw]
保存后重新执行:
bundle install
若仍失败,可尝试指定具体预编译版本号(如18.16.0.0-x86_64-mingw32,根据系统架构调整)。
方法2:手动提供Node.js二进制包供构建
- 手动下载对应系统架构的Node.js 18.16.0压缩包(如Windows x64版本),解压到本地路径(例:
C:\temp\node-v18.16.0-win-x64) - 临时设置环境变量,让libv8-node构建时识别本地包:
set NODEJS_DOWNLOAD_URL=file:///C:/temp/node-v18.16.0-win-x64
- 重新执行
bundle install
方法3:安装Python 2以兼容libv8构建
- 安装Python 2.7.x(确保
python2命令可在终端调用,勿覆盖现有Python 3) - 执行命令安装libv8:
gem install libv8 --with-system-v8
--with-system-v8参数可复用系统已安装的V8引擎,跳过源码构建。
方法4:Windows下安装Ruby开发依赖
Windows中ruby-dev对应的是RubyInstaller的DevKit组件:
- 在终端执行
ridk install - 选择安装DevKit组件(通常为选项3)
- 安装完成后重启终端,再执行
bundle install
内容的提问来源于stack exchange,提问作者badatcode
相关产品推荐
相关产品推荐

