なんか
- gem instal bundler
- bundler
- bunble install
とかか色々あるけど、それぞれ何やってるのかごちゃごちゃしてるからまとめます
ちなみに使ってるフレームワークSinatraです
gem install bundler
というかまずgemって何かってところからなんですが
GemはRubyGemsが公開しているライブラリのことです。
RubyGemsはRuby用のパッケージ管理ツールで、ライブラリの作成や公開、インストールを助けるシステムです。
つまり、バージョン管理をいい感じにしてくれるrubyライブラリ管理するやつです。
引用元
https://tomoyuki65.com/what-is-rubys-gem/
で、「gem install bunder」
って何してるかっていうところなんですが、bundlerってgemを落としてるんです。コマンドよく見るとそのまんまです。
bundle install
それで、bundlerが1つにgemに過ぎないということはわかった。じゃあ、bundlerってgemは何をしてるのかというところですよ。
bundleて日本語訳すると、こん感じで束ねるって意味です。
gem のbundlerは、gemたちをまとめあげてくれてる人なんですよ。
フレームワーク内でなんとなくライブラリ使えてると思いますが、ほんとはbundlerみたいに、gemを1つひとつインストールしないといけないんですよ。
gem install sinatra
みたいな感じで。
でもそれってとってもめんどくさいじゃないですか!!
んでですよ、それを解決するのが
bundle instal
なんですよ
そういえば、Gemfileに一覧でinstall ~~~って書くじゃないですか。
あれ全部あのコマンド1つでinstallしてくれるんですよ
すごいですよね
bundle, bundler
- bundle
- bunder
- bundle install
ってなんかやるとどれも、同じような挙動するじゃないですか
僕もこれ何が違うんかなとずっと思ってたんですがほんとは
全部、おんなじらしいです。
ええええええええええええええ、ほんとかよ。
一旦それで進もう。
bundle update
なんかたまにエラーをググってると出てきますよね
これ、これ実は、
bundle install の友達なんですよ
bundle installするとinstall履歴がgemrock(スペル間違ってる気がする)に履歴みたいにして記録されるんですよ。
で、再度bundle installするとgemrock をみて、installしてないやつをinstallするんですね
でも、bundle updateは違って、gemrockは見ないで、gemfileに書いてあるgem強制的に全部installするらしいです。
へ〜〜って感じですよね。 できれば、bundle install -f みたいにして欲しかった
最後に
はいいいいいいいいい〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜。まとめ終了
おつかれ
間違ってたらごめんね