Ruby 原生扩展 - 手动编译

Ruby Native Extension - Manual Compilation

我创建了新的 Ruby C 扩展并将其托管在 GitHub, 我通过 Bundler 安装 (gem 'my_cool_gem', git: '..').

但是当我 运行 应用程序 (rails s) 我得到一个错误 -

cannot load such file -- my_cool_gem/my_cool_gem

我目前的解决方案,是手动编译它:

$ cd $(bundle show my_cool_gem)
$ rm ext/my_cool_gem/*.o
$ rake compile

只有这样,我的应用才能运行。

有什么想法吗?

您可能配置错误 extconf.rb

确保你的 create_makefile 行看起来像:

create_makefile(File.join(extension_name, extension_name))