rubygems
差分
このページの2つのバージョン間の差分を表示します。
| 次のリビジョン | 前のリビジョン | ||
| rubygems [2010/10/06 03:31] – 外部編集 127.0.0.1 | 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をインストールしている場合 | ||
| $ sudo gem install mysql -- --with-mysql-config=/ | $ sudo gem install mysql -- --with-mysql-config=/ | ||
| + | |||
| + | ===== rubygems-update ===== | ||
| + | Rubygems自体のアップデートを管理するパッケージ。 | ||
| + | |||
| + | 最新版にする。 | ||
| + | |||
| + | $ sudo gem rubygems-update | ||
| + | $ sudo update_rubygems | ||
| + | |||
| + | バージョンを指定する。 | ||
| + | |||
| + | $ sudo gem rubygems-update -v=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 | ||
| 行 75: | 行 104: | ||
| 2カ所あるruby.exeの後ろにダブルクオートが2つ付いているので取る。 | 2カ所あるruby.exeの後ろにダブルクオートが2つ付いているので取る。 | ||
| - | ===== Ubuntuでgem update --systemして動かなくなる ===== | + | ===== Ubuntu |
| for Ruby 1.8.6 and Ubuntu 8.04 | for Ruby 1.8.6 and Ubuntu 8.04 | ||
| 行 100: | 行 129: | ||
| </ | </ | ||
| + | ===== 既存のgemファイルを弄る ===== | ||
| + | 既存のgemの取得・展開して修正する | ||
| + | < | ||
| + | $ gem fetch hogehoge | ||
| + | $ gem unpack hogehoge-x.y.z | ||
| + | </ | ||
| + | 修正が終わったら再度パッケージする。 | ||
| + | ファイル構成が変わった場合はgemspecを作り直す | ||
| + | < | ||
| + | $ gem spec hogehoge > hogehoge.gemspec | ||
| + | </ | ||
| - | ===== gemパッケージの作成 | + | gemパッケージ作成 |
| - | gemパッケージを自分で作る方法、newgemというライブラリを使うと簡単に作成できる。 | + | < |
| + | $ gem build hogehoge.gemspec | ||
| + | </ | ||
| - | インストール | + | ===== ローカルからインストール |
| - | $ gem install newgem | + | |
| - | するとnewgemというコマンドが作られる。 | + | 自作gemをローカルからインストールする場合など |
| - | $ newgem | + | |
| - | Rubyのライブラリを作る場所で | ||
| - | $ newgem hoge -T spec | ||
| - | hogeディレクトリが作成され、その中にライブラリ、rakeタスク等が作成される。-Tオプションでテストライブラリを指定、デフォルトTest:: | + | < |
| - | + | # 適当なgemソースを取得 | |
| - | rakeでテストを実行 | + | $ git clone https://github.com/paulownia/http-server.git |
| - | $ rake test | + | |
| - | $ rake spec | + | |
| - | + | ||
| - | rakeでgemパッケージをビルド | + | |
| - | $ rake package | + | |
| - | + | ||
| - | + | ||
| - | ==== 既存のものに適用 ==== | + | |
| - | 既に開発中のものにnewgemを適用することもできる。hogeというライブラリを作成しているなら、 | + | |
| - | hoge/lib/hoge.rb | + | |
| - | 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.1286335894.txt.gz · 最終更新: (外部編集)