rubygems
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
rubygems [2011/08/02 02:40] – [rubygems-update] nullpon | rubygems [2020/07/12 10:16] (現在) – [ローカルからインストール] nullpon | ||
---|---|---|---|
行 1: | 行 1: | ||
====== RubyGems ====== | ====== RubyGems ====== | ||
- | RubyGemsは、Rubyのパッケージ管理ツール。PerlのCPAN、PHPのPearみたいなの。 | ||
- | * [[http:// | ||
- | * [[http:// | ||
+ | ===== シェルスクリプトで使える技 ===== | ||
+ | gemでインストールしたコマンドのパスを取得する。 | ||
- | ===== インストール ===== | + | GEM_EXEC_PATH=$(ruby -e "puts Gem:: |
- | WindowsのActiveScriptRubyは、最初からgemsがインストールされている。 | + | |
+ | bundlerが入っていなければinstallする。 | ||
- | MacOSX 10.6では最初からインストールされているが、Appleの都合でいつ変えられるか分からないのでMacPortsでRubyと一緒に入れるのが良い。 | ||
< | < | ||
- | port install ruby | + | if ! gem which bundler >/ |
- | port install | + | |
+ | fi | ||
</ | </ | ||
- | ===== コマンド ===== | + | ===== サブコマンド ===== |
+ | |||
+ | hogeをインストール | ||
+ | |||
+ | $ gem install hoge | ||
+ | |||
+ | バージョン指定インストール | ||
< | < | ||
- | // hogeをインストール | + | $ gem -v '= 2.0.0' |
- | gem install hoge | + | $ gem -v '>= 2.0.0' |
+ | $ gem -v '~> 2.0.0' | ||
+ | $ gem -v '~> 2.0' | ||
+ | </ | ||
- | // インストールされたパッケージ一覧 | + | パッケージfugaをアップデート |
- | gem list | + | |
- | // 名前にfugaを含むインストール済みパッケージを探す | + | $ gem update |
- | gem search | + | |
- | // ネットワーク上のライブラリを探す | + | パッケージfugaの古いバージョンを削除 |
- | gem search --remote fuga | + | |
- | gem search -r fuga | + | |
- | // パッケージfugaをアップデート | + | gems自身をアップデート(現在、このコマンドが無効になっている) |
- | gem update | + | |
+ | | ||
- | // パッケージfugaの古いバージョンを削除 | + | ヘルプ(これ覚えておけばこのページ見る必要ないよ) |
- | gem cleanup fuga | + | |
- | // gems自身をアップデート | + | $ gem --help |
- | gem update | + | $ gem -h |
- | // gemsのバージョン | + | コマンド一覧を表示 |
- | gem --version | + | |
- | gem -v | + | |
- | gem -v '= 2.0.0' | + | $ gem help commands |
- | gem -v '>= 2.0.0' # v2.0.0以降を入れる | + | |
- | gem -v '~> 2.0.0' # 2.0.xの最新版を入れる | + | ===== パッケージ検索 ===== |
- | gem -v '~> 2.0' # 2.xの最新版を入れる | + | |
- | // ヘルプ(これ覚えておけばこのページ見る必要ないよ) | + | searchは部分一致、listは前方一致、完全一致させたければqueryサブコマンドと正規表現で |
- | gem --help | + | |
- | gem -h | + | |
- | // コマンド一覧を表示 | + | $ gem query -n ^rails$ |
- | gem help commands | + | |
- | </ | + | rオプションでremoteから探す、aオプションでバージョンを列挙。 |
+ | $ gem search rails -r -a | ||
===== mysqlライブラリを入れる方法 ===== | ===== mysqlライブラリを入れる方法 ===== | ||
Cベースのmysqlコネクタを入れる。mysqlの場所が見つからなくてエラーになる場合の対処法、MacOSXにMySQL公式のバイナリインストーラでMySQL5をインストールしている場合 | Cベースのmysqlコネクタを入れる。mysqlの場所が見つからなくてエラーになる場合の対処法、MacOSXにMySQL公式のバイナリインストーラでMySQL5をインストールしている場合 | ||
行 64: | 行 66: | ||
===== rubygems-update ===== | ===== rubygems-update ===== | ||
Rubygems自体のアップデートを管理するパッケージ。 | Rubygems自体のアップデートを管理するパッケージ。 | ||
- | |||
- | 今は gem update --system を使わない。 | ||
最新版にする。 | 最新版にする。 | ||
行 77: | 行 77: | ||
$ sudo update_rubygems --version=1.3.6 | $ sudo update_rubygems --version=1.3.6 | ||
| | ||
+ | gem rubygems-update でインストール、update_rubygems で切り替え | ||
+ | |||
+ | ==== ubuntuでインストール済みgemが消えてしまう対策 ==== | ||
+ | |||
+ | ubuntuの一部のバージョンではupdate_rubygemsするとgemライブラリ置き場が変わってしまうので、今まで使っていたライブラリがロードできなくなる | ||
+ | |||
+ | $ export GEM_HOME=/ | ||
+ | |||
+ | GEM_HOMEを指定するか | ||
+ | |||
+ | $ sudo ln -s / | ||
+ | | ||
+ | 標準のgemディレクトリの場所に、Ubuntuのgemディレクトリのシンボリックリンクを作成するとよい。 | ||
===== Windowsでgem update --systemして動かなくなる ===== | ===== Windowsでgem update --systemして動かなくなる ===== | ||
for ActiveScriptRuby 1.8.6 | for ActiveScriptRuby 1.8.6 | ||
行 116: | 行 129: | ||
</ | </ | ||
- | ===== gemパッケージの作成 | + | ===== 既存のgemファイルを弄る |
- | gemパッケージを自分で作る方法、newgemというライブラリを使うと簡単に作成できる。 | + | |
- | インストール | + | 既存のgemの取得・展開して修正する |
- | $ gem install newgem | + | < |
+ | $ gem fetch hogehoge | ||
+ | $ gem unpack hogehoge-x.y.z | ||
+ | </ | ||
- | するとnewgemというコマンドが作られる。 | + | 修正が終わったら再度パッケージする。 |
- | $ newgem | + | |
- | Rubyのライブラリを作る場所で | + | ファイル構成が変わった場合はgemspecを作り直す |
- | $ newgem hoge -T spec | + | < |
+ | $ gem spec hogehoge > hogehoge.gemspec | ||
+ | </ | ||
- | hogeディレクトリが作成され、その中にライブラリ、rakeタスク等が作成される。-Tオプションでテストライブラリを指定、デフォルトTest:: | + | gemパッケージ作成 |
+ | < | ||
+ | $ gem build hogehoge.gemspec | ||
+ | </ | ||
- | rakeでテストを実行 | + | ===== ローカルからインストール ===== |
- | $ rake test | + | |
- | $ rake spec | + | |
- | rakeでgemパッケージをビルド | + | 自作gemをローカルからインストールする場合など |
- | $ rake package | + | |
- | ==== 既存のものに適用 ==== | + | < |
- | 既に開発中のものにnewgemを適用することもできる。hogeというライブラリを作成しているなら、 | + | # 適当なgemソースを取得 |
- | hoge/lib/hoge.rb | + | $ git clone https://github.com/paulownia/http-server.git |
- | hoge/spec/hoge_spec.rb | + | |
- | + | ||
- | のようなディレクトリ構成にしておき hoge ディレクトリの上で | + | |
- | $ newgem hoge -T rspec | + | |
- | + | ||
- | とする。ヘルパやrakeタスクなどが作られる。hoge.rbやhoge_spec.rbを上書きしようとするので、一度退避させて後でマージするのが吉 | + | |
+ | # ビルド | ||
+ | $ gem build http-server.gemspec | ||
+ | # インストール | ||
+ | $ gem install http-server-0.1.3.gem | ||
+ | </ | ||
rubygems.1312252823.txt.gz · 最終更新: 2011/08/02 02:40 by nullpon