首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Ruby Gem 源切換至淘寶鏡像加速安裝完整指南

     編輯:Java 相關知識

背景

官方 RubyGems 源 (https://rubygems.org) 因部分資源託管於 Amazon S3,中國大陸訪問極不穩定。切換至淘寶鏡像 (https://gems.ruby-china.com,原 ruby.taobao.org) 可大幅提升 gem install 速度。

一鍵切換指令

# 1. 移除官方源
gem sources --remove https://rubygems.org/

# 2. 添加淘寶/Ruby China 鏡像
gem sources --add https://gems.ruby-china.com/

# 3. 驗證當前源
gem sources -l
# *** CURRENT SOURCES ***
# https://gems.ruby-china.com/

Bundler 專案級配置 (推薦)

不修改全域源,僅對當前專案生效:

# 在專案根目錄執行
bundle config mirror.https://rubygems.org https://gems.ruby-china.com

# 驗證
bundle config
# Settings are listed in order of priority. The top value will be used.
# mirror.https://rubygems.org
# Set for the current user (/home/user/.bundle/config): "https://gems.ruby-china.com"

此後 bundle install 將自動走鏡像源。

Gemfile 直接指定源

source 'https://gems.ruby-china.com'

gem 'rails', '~> 7.0'
gem 'pg', '~> 1.4'
# ...

Docker 映像構建加速

# Dockerfile
FROM ruby:3.2

# 切換 Gem 源
RUN gem sources --remove https://rubygems.org/ \
    && gem sources --add https://gems.ruby-china.com/

# 或使用 Bundler 配置
RUN bundle config mirror.https://rubygems.org https://gems.ruby-china.com

WORKDIR /app
COPY Gemfile Gemfile.lock ./
RUN bundle install

COPY . .
CMD ["rails", "server", "-b", "0.0.0.0"]

常見問題排查

問題原因解決
gem sources -l 仍顯示官方源用戶級配置優先級高gem sources --remove https://rubygems.org/ 確實移除
SSL 憑證驗證失敗舊版 Ruby/OpenSSL 不信任鏡像憑證升級 Ruby、或 gem update --system、或暫時 gem sources --add https://gems.ruby-china.com/ (不推薦)
私有 Gem 無法安裝鏡像未同步私有庫Gemfile 中單獨指定私有源:source 'https://private.gem.server' do; gem 'my-private-gem'; end
中國大陸無法訪問 gems.ruby-china.com極少數網絡封鎖嘗試 https://mirrors.aliyun.com/rubygems/、https://mirrors.tuna.tsinghua.edu.cn/rubygems/

歷史演變說明

  • https://ruby.taobao.org **已停止維護**,自 2018 年起重定向至 https://gems.ruby-china.com。
  • Ruby China 社區維護的鏡像同步頻率高、穩定性佳,為中國大陸首選。
  • 阿里雲、清華大學等也提供鏡像,可作為備選。

總結

  • 全域切換:gem sources --remove ... --add https://gems.ruby-china.com/
  • 專案級:bundle config mirror.https://rubygems.org https://gems.ruby-china.com (推薦,不污染全域)
  • Gemfile 直寫:source 'https://gems.ruby-china.com'
  • Docker:構建層配置源,加速映像構建。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved