はちゅにっき

こっちのブログはまったり更新

require されているモジュールのバージョンを知りたい!調べたい!

Perl の場合 Google さんで検索すれば1件目にはHITするのに、Ruby はまったく HIT せず。
とんちんかんな検索結果ばっかりで困った。。。
う〜ん?
なんだかんだで、Perl コミュニティの大きさって偉大だなぁ。
ゴミ記事ばっかり量産しているこんな blog でゴメンナサイ。

結果としては、Ruby のモジュールはたいていが RubyGems を経由してインストールされるため、rubygems にバージョンを調べる機能がついているみたい。
って、rubygems ではバージョン指定してモジュールを require できるんだから、バージョン調べられて当然か。
そもそもそれを言い出したら

$ gem list

で見て、どうせ標準で require されるのは最新版でしょ?
とか考えてればいいのかな?
でも個別に $GEM_HOME とか設定してたら、どこが優先されるの?
それとも、それでもやっぱり最新版が require されるの?
うーん、今度調べてみよう。。。


それはいいとして、早速 irb を使って rubygems 経由でバージョンの確認をしてみました。

require 'rubygems'
require 'sequel'
puts Gem.loaded_specs['sequel'].version   # => 2.8.0

というわけで、2.8.0 が require されていることが分かりました。
ついでに、バージョンを指定した場合。

require 'rubygems'
gem 'sequel', '= 1.5.0'
require 'sequel'
puts Gem.loaded_specs['sequel'].version   #=> 1.5.0

きちんと 1.5.0 が require されていました。
って、これで違うバージョンが require されていたら問題ですが。


複数のバージョンを混在させておいても、キチンと細かくバージョンを指定して require できるというのは、RubyGems のすばらしいところでもありますね。
ここまで細かくバージョンを指定して require するのは Perl にはない機能だと思いますが。。。?
実は存在するのかな?

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy