![](/img/trans.png)
[英]Could not verify the SSL certificate for https://rubygems.org/
[英]Is it possible to verify if all gems in a Gemfile.lock exist at https://rubygems.org?
是否可以驗證Gemfile.lock
文件中的所有 gem 是否存在於https://rubygems.org ?
我最近更新了我的彈性 beanstalk 平台版本,由於以下錯誤而失敗:
您的捆綁包被鎖定為 mimemagic (0.3.3),但在您的 Gemfile 中列出的任何源中都找不到該版本。 如果您沒有更改來源,則意味着 mimemagic (0.3.3) 的作者已將其刪除。 您需要將您的捆綁軟件更新為 mimemagic (0.3.3) 以外的版本,該版本尚未刪除才能安裝。
由於托管部署系統的所有復雜性,調試起來很困難。
失敗的原因是mimemagic的作者已經刪除了0.3.3版本,所以我需要將gem更新到0.3.6。 (在此處查看 gem 版本歷史記錄: https://rubygems.org/gems/mimemagic/versions )
所以我的問題是:是否有可以運行的命令,例如bundle check_sources
掃描 Gemfile.lock 中的 gem 和版本並點擊Gemfile.lock
://rubygems.org以驗證它們是否都存在並且仍然可用?
它類似於bundle check
所做的,但不是在本地計算機上查找 gem,而是在遠程源中查找它們。
在向bundler
的開發人員提出功能請求后: https://github.com/rubygems/rubygems/issues/4487 ,他們建議至少有一個可行的解決方法。 只需運行以下命令:
bundle install --deployment --redownload
--redownload
(或--force
)開關將強制下載每個 gem,即使所需的版本已經在本地可用。
--deployment
開關強制使用您的 Gemfile 中指定的確切版本(並忽略補丁升級,如~> 0.3.2
通常會升級到例如0.3.6
)。 --deployment
的使用是部署期間的常見做法。
此解決方案並不理想,因為它需要完全重新安裝所有捆綁包的 gem。 但它有效!
我今天遇到了同樣的問題,我在 docker 上運行我的項目,解決方案是更改 Gemfile.lock 上的 mimemagic 版本,我不知道是否是最佳解決方案,但節省了我的一天:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.