没有这样的文件加载 – RMagick2.so

我真的很难理解下面错误的含义。 我在OS X Lion上开发,我在那里安装了RMagick,我的代码完美无瑕。

然而在生产RedHat机器上,如下:

MissingSourceFile (no such file to load -- RMagick2.so): rmagick (2.13.1) [v] lib/RMagick.rb:11 

是的,我在本地将rmagick gem安装到两台机器上。 我已经将每台机器上的gem解压缩到供应商/gem。

可能对我来说最有趣的是这个错误是如此愚蠢。 我的Mac上也没有RMagick.so文件,但代码有效。

这里有什么问题?

所以我从供应商/gem中删除了这个gem,因为解压缩它显然错过了动态库。

然后我创建了一个新文件:

/etc/ld.so.conf.d/local.conf

把它放在那里:

 /usr/lib /usr/local/lib 

现在它正在发挥作用。

将OS X Lion升级到Mountain Lion之后遇到了同样的问题。 rmagick gem安装得很好,就像imagemagick一样。 我不得不卸载两个,然后重新安装来修复它。

 gem uninstall rmagick brew uninstall imagemagick brew install imagemagick bundle install 

当然,在此之前我必须安装XCode命令行工具来获取git和gcc,这样我才能酿造并重新制作。

我也有像你这样的问题,你可以访问http://www.imagemagick.org/script/binary-releases.php并使用这种方式安装到你的OS X Lion,它现在对我有用。

有时,此错误与将Imagemagick更新为与rmagick不兼容的版本有关。 尝试恢复到以前版本的Imagemagick

 brew switch imagemagick 6.7.7-6 

注意:此命令仅在您使用brew时才有效

将Ubuntu从12.10升级到13.04后,我遇到了这个问题。 它有助于重新安装gem:

 $ gem uninstall rmagick $ bundle # or gem install rmagick, if you don't use bundler