rubygems
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
rubygems [2011/08/02 02:53] – [サブコマンド] 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をインストール | hogeをインストール | ||
行 65: | 行 66: | ||
===== rubygems-update ===== | ===== rubygems-update ===== | ||
Rubygems自体のアップデートを管理するパッケージ。 | Rubygems自体のアップデートを管理するパッケージ。 | ||
- | |||
- | 今は gem update --system を使わない。 | ||
最新版にする。 | 最新版にする。 | ||
行 79: | 行 78: | ||
| | ||
gem rubygems-update でインストール、update_rubygems で切り替え | 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 | ||
行 118: | 行 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.1312253594.txt.gz · 最終更新: 2011/08/02 02:53 by nullpon