Puma gem 无法使用 Ruby 3.1 在 macOS 12 (Monterey) 上构建本机扩展

And*_*son 0 ruby macos rubygems native build

查看构建日志时,注意到的第一个错误是error: '__declspec' attributes are not enabled。Ruby 现在使用的功能在现代 macOS 版本的编译器中默认关闭。

And*_*son 5

如果您使用 Bundler 进行 gem 安装,可以通过以下方式修复此问题:

bundle config set --global build.puma --with-cflags=-fms-extensions
Run Code Online (Sandbox Code Playgroud)

如果直接使用的话,你也许可以通过临时设置 C 编译标志来一次性安装它gem install ...,但我还没有尝试过这一点。

CMAKE_C_FLAGS="-fms-extensions" gem install puma
Run Code Online (Sandbox Code Playgroud)