红帽企业 Linux 上的 Ruby on Rails: 找不到要加载的文件 -- openssl

12

我正在尝试执行 'rake db:migrate' 命令,但出现错误信息 '无法加载文件--openssl'。已安装 'openssl' 和 'openssl-devel' 包。在Debian或Ubuntu上,其他人似乎可以通过安装 'libopenssl-ruby' 来解决此问题,但此软件包在RedHat上不可用。有人遇到过这个问题并有解决方法吗?


答案在这里:http://www.ruby-forum.com/topic/136893#808492 - catamphetamine
5个回答

13

我在升级至Ubuntu 8.10后遇到了这个问题。

Ubuntu的解决方法是:

sudo apt-get install libopenssl-ruby


10

看起来你需要制作ruby头文件

进入openssl目录并执行以下操作:

ruby extconf.rb
cd ../..
make
make install

请查看此处


1
这个答案假设您已经编译了自己的Ruby二进制文件。extconf.rb文件位于ruby-X.X.X/ext/openssl/目录中。 - Steropes
对我也起作用了,不过需要安装ruby1.8-dev来解决mkmf错误(extconf.rb:17:in require': no such file to load -- mkmf (LoadError))。sudo apt-get install ruby1.8-dev` - jobwat
你可能需要指定你的openssl库的位置(如链接文章中所建议的)。我不得不使用 ruby extconf.rb --with-openssl-include=/usr/local/ssl/include --with-openssl-lib=/usr/local/ssl/lib - David Waller

8

0

我曾经遇到过同样的问题。我尝试进入openssl文件夹并运行make等命令,但它找不到库lcrypto。最终我通过运行ruby 1.9.3-p327解决了这个问题。

希望这可以帮到你!


0

你可能缺少一个宝石。你能提供堆栈跟踪和代码行吗?

使用--trace重新运行rake以打印堆栈跟踪。

编辑:你正在运行哪个版本的Ruby?openssl.rb在我的1.8.6安装中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接