2015-03-31 156 views
0

我在Windows上設置了Rails項目和數據庫,並且缺少一些寶石。當試圖安裝他們,我得到以下錯誤:安裝寶石時SSL證書驗證失敗

 
    Following gems were not installed: 
    bundler: Could not find a valid gem 'bundler' (>= 0), here is why: 
       Unable to download data from https://rubygems.org/ - SSL_connect 
    returned=1 errno=0 state=SSLv3 read server 
    certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz) 

我試圖

https://gist.github.com/luislavena/f064211759ee0f806c88

SSL Error When installing rubygems, Unable to pull data from 'https://rubygems.org/

但非此工作。 有什麼建議嗎?

+0

你可以只切換到「http」而不是「https」。我注意到,這樣做,然後切換回來有時可以解決問題。 – engineersmnky 2015-03-31 17:24:45

+0

不幸沒有工作 – 2015-03-31 17:39:33

回答

1

作爲臨時解決方法,您可以簡單地將您的gemfile中的source 'https://rubygems.org'更改爲source http://rubygems.org。然後運行bundle

我之前有過完全相同的問題,之後我就可以安裝我的寶石。

爲了更好的解決方案,運行gem update --system

+0

我試了幾次,但它不工作。我認爲可以這樣,因爲https://gems.github.com/ sie已經關閉,並且無法獲取寶石。 – 2015-03-31 18:17:58

0

對於Windows使用PowerShell安裝

安裝Windows PowerShell的

粘貼命令控制檯此1LINE代碼:(WIN + R,CMD)

powershell -Command "& {$fname='cacert.pem'; $outpath=\"$($(Get-ChildItem Env:USERPROFILE).Value)/$fname\"; Invoke-WebRequest http://curl.haxx.se/ca/$fname -OutFile \"$outpath\"; [Environment]::SetEnvironmentVariable('SSL_CERT_FILE', \"$outpath\", 'User')}" 

腳本會做:

  1. 下載http://curl.haxx.se/ca/cacert.pem

  2. 保存爲%USERPROFILE%/cacert.pem (C:\Users\__you__\cacert.pem)

  3. persistent設置環境變量的當前用戶SSL_CERT_FILE作爲%USERPROFILE%/cacert.pem

在此之後嘗試安裝寶石