Shopify CLI主题开发中FFI Gem原生扩展安装失败求助
解决Windows下Shopify CLI Themes项目ffi gem编译失败问题
问题背景
在Windows系统搭建Shopify CLI Themes项目时,执行bundle install或shopify theme dev命令时,触发ffi gem原生扩展编译失败错误,核心报错包括:
- 路径解析语法错误(因用户名含空格导致
mkdir命令执行失败) - 找不到
ffi.h头文件,无法完成编译
错误核心原因
- 路径空格问题:用户目录名包含空格(
Basar Bilgisayar),导致shell执行编译命令时,空格未正确转义,引发语法错误。 - 编译依赖缺失:ffi gem编译需要MSYS2环境下的libffi开发库,即使安装了MSYS2组件,也可能未安装对应依赖或未在正确环境中执行命令。
解决方案
方案1:迁移项目到无空格路径
- 将主题项目移动到不含空格的目录,例如
C:\Shopify\my-new-theme - 在新路径下重新执行:
bundle install shopify theme dev --store {store-name}
方案2:配置MSYS2编译环境
- 打开Ruby安装时附带的MSYS2 MinGW 64-bit终端(不要用普通PowerShell/CMD)
- 安装libffi开发包:
pacman -S mingw-w64-x86_64-libffi - 切换到项目目录(使用Linux风格路径,例如
/c/Users/Basar Bilgisayar/Desktop/Projeler/artistic-focus-theme) - 执行
bundle install完成依赖安装
方案3:使用预编译版ffi gem
修改Gemfile,指定带有Windows预编译包的ffi版本:
source 'https://rubygems.org' gem 'nokogiri' gem 'rack', '~> 2.2.4' gem 'rspec' gem 'ffi', '~> 1.16.0' # 该版本提供Windows预编译二进制文件,无需编译
执行以下命令更新依赖:
bundle update ffi bundle install
内容的提问来源于stack exchange,提问作者Ayse8888
相关产品推荐
相关产品推荐

