【问题标题】:Openssl support for ruby not found in passenger installation on ruby 1.9.2 with ubuntu & rvm在带有 ubuntu 和 rvm 的 ruby​​ 1.9.2 上的乘客安装中找不到对 ruby​​ 的 Openssl 支持
【发布时间】:2011-12-28 23:45:38
【问题描述】:

这是一个奇怪的问题。在 irb 中,要求 'openssl' 返回 true。进入由“哪个乘客安装 nginx 模块”返回的子目录并执行乘客安装 nginx 模块。它返回未找到对 ruby​​ 的 openssl 支持。

按照以下说明成功构建openssl:

sudo apt-get install libssl-dev
cd ~/.rvm/src/ruby-1.9.2-p290/ext/openssl  #ruby p290 installed by rvm
ruby extconf.rb
make && make install 

但是passenger-install-nginx-module总是提示'openssl support for ruby​​ not found'。

对这个问题有什么想法吗?谢谢。

【问题讨论】:

    标签: ubuntu nginx openssl passenger


    【解决方案1】:

    这是有效的(安装了对 ruby​​ 的 openssl 支持):

    $rvm remove 1.9.2
    $rvm pkg install openssl
    $rvm install 1.9.2 --with-openssl-dir=$HOME/.rvm/usr
    

    然后 cd /vol/www/myapp/current,安装乘客。

    $rvmsudo gem install passenger
    $rvmsudo passenger-install-nginx-module
    

    【讨论】:

    • 在 RackSpace Cloud 上,我需要 rvm package install opensslrvm install 1.9.2 --with-openssl-dir=/usr/share/ruby-rvm/usr。只需注意 openssl 的安装位置即可。
    • 关于 openssl-dir,通用选项是使用 rvm 主路径变量:--with-openssl-dir=$rvm_path/usr
    【解决方案2】:

    正如 user938363 所说,这里是完整详细信息的链接:

    https://rvm.io/packages/openssl/

    【讨论】:

      【解决方案3】:

      编译和安装 ruby​​ 后,从源代码进入 ext/openssl 目录并编译它

      如 cd 到:/usr/local/src/ruby-1.8.7-p22/ext/openssl(或其他)

      sudo ruby extconf.rb
      make
      make install
      

      【讨论】:

        猜你喜欢
        • 2011-07-20
        • 1970-01-01
        • 1970-01-01
        • 2011-05-09
        • 1970-01-01
        • 1970-01-01
        • 2014-12-15
        • 1970-01-01
        • 2012-02-22
        相关资源
        最近更新 更多