LoginSignup
3
2

More than 5 years have passed since last update.

bundler/gem_tasks の rake install から gem build・install を通って gem が install されるまでの旅路

Posted at

やんごとなき事情により bundler の gem_tasks の動作を確認する必要があったのでコードを読みました。
bundler/gem_tasks の rake install から gem build・install を通って gem が install されるまで
何が起こっているかコードリーディングをします。

bundle/gem_tasks

Bundler の gem_tasks ファイルから読み進めます。
gem_task の rake install は build_gem => install_gem の順で内部処理が呼び出されます。

gem_helper.rb - L38-L46 - bundler/bundler -GitHub

build_gem

  • gem build コマンドを実行して Ruby プロジェクトのビルドを実行します。これだけ。

gem_helper.rb - L74-L83 - bundler/bundler -GitHub

install_gem

  • gem build で作成した gem を gem install します。これだけ

gem_helper.rb - L85-L90 - bundler/bundler -GitHub

RubyGems

rake install の処理のうち、 bundler 側が受け持っているのは gem build と gem install の呼び出し部分でした。
実際のビルド・インストール処理本体を確認するために RubyGems(gem コマンド) のコードを読みます。

gem build

各リンクは対応するソースコードへのリンクになっています。

gem install

各リンクは対応するソースコードへのリンクになっています。

おまけ

外部資料

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2