Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 軟體綜合

RVM 安裝 Ruby 報錯 "no checksum for rubygems"?升級 RVM 並更新 RubyGems 秒解

編輯:軟體綜合

RVM 編譯安裝 Ruby 解釋器失敗:驗證和下載錯誤的標準修復流程

使用 RVM (Ruby Version Manager) 從官方原始碼編譯安裝 Ruby 時,遇到 There is no checksum for 'rubygems-.tgz' 錯誤導致安裝中止。這是已知的 RVM 內部校驗邏輯與 RubyGems 官方發布流程變更暫時不同步導致的臨時性問題。

錯誤現象完整日誌

Retrieving rubygems-
There is no checksum for 'https://production.cf.rubygems.org/rubygems/rubygems-.tgz' or 'rubygems-.tgz',
it's not possible to validate it.
If you wish to continue with unverified download add '--verify-downloads 1' after the command.
There has been an error while trying to fetch the source. Halting the installation.

根因分析

  • RVM 內建的 RubyGems 版本對應的 SHA256 校驗和資料庫未及時更新,或 RubyGems 官方 CDN 路徑/命名規則變更 (版本號為空 `rubygems-.tgz` 顯示解析異常)。
  • RVM 預設強制驗證下載完整性,校驗失敗直接終止安裝。

標準修復命令 (官方社群推薦)

# 1. 將 RVM 更新至最新穩定版 (修復內部校驗邏輯與版本映射)
rvm get stable

# 2. 更新 RubyGems 至最新版 (同步最新校驗資訊)
rvm rubygems current

# 3. 重新安裝目標 Ruby 版本
rvm install 3.2.0  # 替換為你需要的版本

原理說明

  1. rvm get stable 會從 GitHub 拉取最新 RVM 腳本,包含修復後的 `rubygems` 下載/驗證邏輯與最新版本映射表。
  2. rvm rubygems current 強制更新當前 Ruby 環境的 RubyGems 到最新版,同步最新校驗和。若無 Ruby 環境,此步會在下次安裝時自動生效。
  3. 後續 rvm install 將使用更新後的邏輯正常下載驗證 RubyGems 並完成安裝。

替代方案 (若標準法失效)

  • 手動指定不驗證下載 (不推薦生產環境):
    rvm install 3.2.0 --verify-downloads 1
  • 改用 rbenv + ruby-build: 架構更簡單、無此類校驗問題,現代 Ruby 開發主流選擇。
  • 使用系統套件管理器: Ubuntu `apt install ruby-full`、macOS `brew install ruby`、Windows `RubyInstaller`,雖版本可能非最新但極其穩定。

最佳實踐建議

定期執行 `rvm get stable` 保持 RVM 最新。生產環境建議鎖定具體 Ruby 版本 (`.ruby-version` 檔案) 並使用 `bundler` 管理 Gem 依賴,避免系統級 Ruby 版本衝突。

Copyright © Windows教程網 All Rights Reserved