2011-06-14 73 views
1

使用远程位置模板(如需要ssl认证检查的github)创建新的rails应用程序时,存在一些问题。我正在使用ruby1.9.2和openssl的雪豹,都使用macports安装。Rails和SSL_CERT_FILE OS X

rails new rails_mongo -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-mongoid-devise-template.rb 

将导致:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError) 

所以要避免我运行SSL_CERT_FILE变量轨问题:

SSL_CERT_FILE=/opt/local/share/curl/curl-ca-bundle.crt rails new rails_mongo -m https://raw.github.com/RailsApps/rails3-application-templates/master/rails3-mongoid-devise-template.rb 

保留此设置我设置SSL_CERT_FILE变量在我的.bash_profile和echo确认该变量具有正确的值:

echo $SSL_CERT_FILE 
/opt/local/share/curl/curl-ca-bundle.crt 

但是,如果我再次运行rails的证书检查将失败,我不明白为什么? 有没有其他方法可以避免这个问题,而无需在任何地方设置OpenSSL :: SSL :: VERIFY_NONE?

(如git的其他应用程序一直工作得很好)

感谢

回答

1

您可能已经解决了这一点,但你记得:

export SSL_CERT_FILE=/opt/local/etc/openssl/cert.pem 

因为铁轨将从运行独立bash shell,因此需要env vars导出(简单的东西,但如果它晚上很晚,你的思想不想解决另一个rails环境问题,那么它可能被忽略!)