Skip Navigation
Show nav
Dev Center
  • Get Started
  • ドキュメント
  • Changelog
  • Search
  • Get Started
    • Node.js
    • Ruby on Rails
    • Ruby
    • Python
    • Java
    • PHP
    • Go
    • Scala
    • Clojure
    • .NET
  • ドキュメント
  • Changelog
  • More
    Additional Resources
    • Home
    • Elements
    • Products
    • Pricing
    • Careers
    • Help
    • Status
    • Events
    • Podcasts
    • Compliance Center
    Heroku Blog

    Heroku Blog

    Find out what's new with Heroku on our blog.

    Visit Blog
  • Log inorSign up
View categories

Categories

  • Heroku のアーキテクチャ
    • Dyno (アプリコンテナ)
      • Dyno Management
      • Dyno Concepts
      • Dyno Behavior
      • Dyno Reference
      • Dyno Troubleshooting
    • スタック (オペレーティングシステムイメージ)
    • ネットワーキングと DNS
    • プラットフォームポリシー
    • プラットフォームの原則
  • Developer Tools
    • コマンドライン
    • Heroku VS Code Extension
  • デプロイ
    • Git を使用したデプロイ
    • Docker によるデプロイ
    • デプロイ統合
  • 継続的デリバリーとインテグレーション
    • 継続的統合
  • 言語サポート
    • Node.js
      • Working with Node.js
      • Node.js Behavior in Heroku
      • Troubleshooting Node.js Apps
    • Ruby
      • Rails のサポート
      • Bundler の使用
      • Working with Ruby
      • Ruby Behavior in Heroku
      • Troubleshooting Ruby Apps
    • Python
      • Working with Python
      • Python でのバックグランドジョブ
      • Python Behavior in Heroku
      • Django の使用
    • Java
      • Java Behavior in Heroku
      • Working with Java
      • Maven の使用
      • Spring Boot の使用
      • Troubleshooting Java Apps
    • PHP
      • PHP Behavior in Heroku
      • Working with PHP
    • Go
      • Go の依存関係管理
    • Scala
    • Clojure
    • .NET
      • Working with .NET
  • データベースとデータ管理
    • Heroku Postgres
      • Postgres の基礎
      • Postgres スターターガイド
      • Postgres のパフォーマンス
      • Postgres のデータ転送と保持
      • Postgres の可用性
      • Postgres の特別なトピック
      • Migrating to Heroku Postgres
    • Heroku Data For Redis
    • Apache Kafka on Heroku
    • その他のデータストア
  • AI
    • Working with AI
    • Heroku Inference
      • Inference API
      • Quick Start Guides
      • AI Models
      • Inference Essentials
    • Vector Database
    • Model Context Protocol
  • モニタリングとメトリクス
    • ログ記録
  • アプリのパフォーマンス
  • アドオン
    • すべてのアドオン
  • 共同作業
  • セキュリティ
    • アプリのセキュリティ
    • ID と認証
      • シングルサインオン (SSO)
    • Private Space
      • インフラストラクチャネットワーキング
    • コンプライアンス
  • Heroku Enterprise
    • Enterprise Accounts
    • Enterprise Team
    • Heroku Connect (Salesforce 同期)
      • Heroku Connect の管理
      • Heroku Connect のリファレンス
      • Heroku Connect のトラブルシューティング
  • パターンとベストプラクティス
  • Heroku の拡張
    • Platform API
    • アプリの Webhook
    • Heroku Labs
    • アドオンのビルド
      • アドオン開発のタスク
      • アドオン API
      • アドオンのガイドラインと要件
    • CLI プラグインのビルド
    • 開発ビルドパック
    • Dev Center
  • アカウントと請求
  • トラブルシューティングとサポート
  • Salesforce とのインテグレーション
  • 言語サポート
  • Ruby
  • Bundler の使用
  • Bundler による gem の管理

Bundler による gem の管理

日本語 — Switch to English

この記事の英語版に更新があります。ご覧の翻訳には含まれていない変更点があるかもしれません。

最終更新日 2022年03月24日(木)

Table of Contents

  • Bundler の使用
  • gem とグループの指定
  • フレームワーク
  • Rails 3 での Bundler の使用
  • Bundler のバージョン
  • 参考情報

Bundler​ は、Ruby プロジェクトのデフォルトの gem 依存関係マネージャーです。 Bundler は Heroku で gem を管理する方法です。

ネイティブの依存関係があるものも含め、ほとんどすべての gem を Bundler を使用してインストールできます。Heroku にインストールできない特定の gem がある場合は、サポートチケットを送信​してください。

Bundler の使用

使用するには、次のようにして Bundler をインストールします。

$ gem install bundler

Gemfile​ という名前のファイルをアプリのルートに作成します。このファイルでは、アプリを実行するために必要な gem を指定します。

source "https://rubygems.org"
gem 'sinatra', '1.0'

このファイルはアプリの一部であるため、Git リポジトリに追加する必要があります。.bundle​ ディレクトリを .gitignore​ ファイルに追加する必要もあります。 Gemfile​ を追加すると、他の開発者にとって、アプリの実行準備ができた状態に各自の環境を整えることが容易になります。

$ bundle install -j4

これにより、Gemfile​ で指定されたすべての gem が、その依存関係も含めてアプリケーションで利用できることが保証されます。 bundle install​ を実行すると Gemfile.lock​ ファイルも生成され、これを Git リポジトリに追加する必要があります。Gemfile.lock​ によって、Heroku にデプロイされている gem のバージョンが、使用中の開発用マシンにローカルでインストールされているバージョンと一致することが保証されます。フラグ -j4​ は、すべての依存関係をインストールするために 4 つの並列ジョブを使用することを指定します。この機能は Bundler 1.5.0 で導入されました。

Gemfile​ の platforms​ セクションに mswin​ や mingw​ などの Windows エントリが含まれている場合、Gemfile.lock​ ファイルは無視されます。

Heroku ではさらに、そのファイルを使用して、アプリケーションの依存関係を自動的に解決およびインストールします。必要なのは、そのファイルをプッシュすることのみです。

-----> Heroku receiving push
-----> Sinatra app detected
-----> Gemfile detected, running Bundler version 1.5.2
       Unresolved dependencies detected; Installing...
       Using rack (1.2.1)
       Using sinatra (1.0)
       Using bundler (1.0.0)
       Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed.

       Your bundle was installed to `.bundle/gems`
       Compiled slug size is 10.7MB
-----> Launching.... done

gem とグループの指定

gem Bundler の使用法として推奨されるのは、アプリが依存するすべての gem を漏れなくバンドルするというものです。 これには、使用するフレームワーク (Rails、Sinatra など) と、使用するデータベースコネクターが含まれます。

Rails やその他の依存関係をバンドルすると、slug のサイズが数 MB 単位で増加します。 依存関係の管理が大幅に簡素化され、Rails の任意のバージョンを使用できる柔軟性が得られることを考えれば、slug サイズの増加は十分に価値のあるトレードオフです。

インストールしない gem のグループを指定するには、BUNDLE_WITHOUT​ 環境設定を使用できます。

$ heroku config:set BUNDLE_WITHOUT="development:test"

フレームワーク

Rails 3 での Bundler の使用

Rails 3 は Bundler をベースに構築されています。したがって、セットアップは一切不要であり、Gemfile​ で指定されたすべての gem はアプリで使用する準備ができています。

Rails 2.3.X での Bundler の使用

こちら​の手順に従ってください。 すべての config.gem​ 行を環境設定ファイルから忘れずに削除してください。 アプリ用の適切なデータベース gem を指定することも忘れないでください。

gem "pg", :group => :production
gem "sqlite3-ruby", :group => :development

コードをアプリケーションに追加したら、次のように実行します。

$ bundle install

これで、Bundler を使用してアプリが実行されるようになりました。

Sinatra (または他の Rack アプリ) からの Bundler の使用

Sinatra やその他のフレームワークで Bundler を使用する方法については、Gem Bundler から入手できる一連のドキュメント​を参照してください。

Bundler のバージョン

Bundler のさまざまなバージョンの使用については、「Bundler Version​」(Bundler のバージョン) を参照してください。

参考情報

  • Bundler ドキュメント

関連カテゴリー

  • Bundler の使用
Bundler の設定 Bundler の設定

Information & Support

  • Getting Started
  • Documentation
  • Changelog
  • Compliance Center
  • Training & Education
  • Blog
  • Support Channels
  • Status

Language Reference

  • Node.js
  • Ruby
  • Java
  • PHP
  • Python
  • Go
  • Scala
  • Clojure
  • .NET

Other Resources

  • Careers
  • Elements
  • Products
  • Pricing
  • RSS
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku Blog
    • Heroku News Blog
    • Heroku Engineering Blog
  • Twitter
    • Dev Center Articles
    • Dev Center Changelog
    • Heroku
    • Heroku Status
  • Github
  • LinkedIn
  • © 2025 Salesforce, Inc. All rights reserved. Various trademarks held by their respective owners. Salesforce Tower, 415 Mission Street, 3rd Floor, San Francisco, CA 94105, United States
  • heroku.com
  • Legal
  • Terms of Service
  • Privacy Information
  • Responsible Disclosure
  • Trust
  • Contact
  • Cookie Preferences
  • Your Privacy Choices