2011-06-14 43 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環境問題,那麼它可能被忽略!)