ユーザ用ツール

サイト用ツール


rubygems

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
rubygems [2011/08/02 02:41] – [rubygems-update] nullponrubygems [2020/07/12 10:16] (現在) – [ローカルからインストール] nullpon
行 1: 行 1:
 ====== RubyGems ====== ====== RubyGems ======
-RubyGemsは、Rubyのパッケージ管理ツール。PerlのCPAN、PHPのPearみたいなの。 
-  * [[http://rubyforge.org/projects/rubygems/|RubyForge: RubyGems]] 
-  * [[http://jp.rubyist.net/magazine/?0006-PackageManagement|Rubyist Magazine - シリーズ パッケージマネジメント 【第 1 回】 RubyGems (1)]] 
  
 +===== シェルスクリプトで使える技 =====
  
 +gemでインストールしたコマンドのパスを取得する。
  
-===== インストール ===== +  GEM_EXEC_PATH=$(ruby -e "puts Gem::bindir") 
-WindowsのActiveScriptRubyは、最初からgemsインストールされている。+ 
 +bundler入っていなければinstallする。
  
-MacOSX 10.6では最初からインストールされているが、Appleの都合でいつ変えられるか分からないのでMacPortsでRubyと一緒に入れるのが良い。 
 <code> <code>
-port install ruby +if ! gem which bundler >/dev/null 2>/dev/null; then 
-port install rb-rubygems+  gem install bundler 
 +fi
 </code> </code>
  
-===== コマンド =====+===== サブコマンド ===== 
 + 
 +hogeをインストール 
 + 
 +  $ gem install hoge 
 + 
 +バージョン指定インストール
 <code> <code>
-// hogeインスト +$ gem -v '= 2.0.0'     # v2.0.0入れる 
-gem install hoge+$ gem -v '>= 2.0.0'    # v2.0.0以降のリリス最新版入れる 
 +gem -v '~> 2.0.0'    # 2.0.xの最新版を入れる(2.1は入らない、たとえば2.0.9が入る) 
 +$ gem -v '~> 2.0'      # 2.xの最新版を入れる(3.0は入らない、たとえば2.9が入る) 
 +</code>
  
-// インストールされたパッケージ一覧 +パッケージfugaをアップデート
-gem list+
  
-// 名前にfugaを含むインストール済みパッケージを探す +  $ gem update fuga
-gem search fuga+
  
-// ネトワク上ライブラリ探す +ジfuga古いバージョン削除 
-gem search --remote fuga +   
-gem search -r fuga+  gem cleanup fuga
  
-// パッケージfugaをアップデート +gems自身をアップデート(現在、このコマンドが無効になっている) 
-gem update fuga+   
 +  gem update --system
  
-// パッケージfugaの古バージョンを削除 +ヘルプ(これ覚えておけばこのページ見る必要なよ)
-gem cleanup fuga+
  
-// gems自身をアップデート +  $ gem --help 
-gem update --system+  $ gem -h
  
-// gemsのバージョ +コマド一覧を表示
-gem --version +
-gem -v+
  
-gem -v '= 2.0.0'  # v2.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 + 
-</code>+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 を使わない。 
  
 最新版にする。 最新版にする。
行 78: 行 78:
      
 gem rubygems-update でインストール、update_rubygems で切り替え gem rubygems-update でインストール、update_rubygems で切り替え
 +
 +==== ubuntuでインストール済みgemが消えてしまう対策 ====
 +
 +ubuntuの一部のバージョンではupdate_rubygemsするとgemライブラリ置き場が変わってしまうので、今まで使っていたライブラリがロードできなくなる
 +
 +  $ export GEM_HOME=/var/lib/ruby/gems/1.8
 +
 +GEM_HOMEを指定するか
 +
 +  $ sudo ln -s /var/lib/gems /usr/lib/ruby/gems
 +  
 +標準のgemディレクトリの場所に、Ubuntuのgemディレクトリのシンボリックリンクを作成するとよい。
 ===== Windowsでgem update --systemして動かなくなる ===== ===== Windowsでgem update --systemして動かなくなる =====
 for ActiveScriptRuby 1.8.6 for ActiveScriptRuby 1.8.6
行 117: 行 129:
 </code> </code>
  
-===== gemパッケージの作成 ===== +===== 既存のgemファイルを弄る =====
-gemパッケージを自分で作る方法、newgemというライブラリを使うと簡単に作成できる。+
  
-インストール +既存のgemの取得・展開して修正する 
-  $ gem install newgem+<code> 
 +$ gem fetch hogehoge 
 +$ gem unpack hogehoge-x.y.z 
 +</code>
  
-するとnewgemというコマンドる。 +修正終わった再度パッケージする。
-  $ newgem+
  
-Rubyのラブラリを作る場所で +ファル構成が変わった場合はgemspecを作り直す 
-  newgem hoge -T spec +<code> 
 +gem spec hogehoge > hogehoge.gemspec 
 +</code>
  
-hogeディレクトリが作成され、その中にライブラリ、rakeタスク等が作成される。-Tオプションでテストライブラリを指定、デフォルトTest::Unit、-T rspecでRSpecを指定。+gemパッケージ作成 
 +<code> 
 +$ gem build hogehoge.gemspec 
 +</code>
  
-rakeでテストを実行 +===== ローカルからインストール =====
-  $ rake test +
-  $ rake spec+
  
-rakeでgemパッケージド +自作gemをローカルからインストーする場合など
-  $ rake package+
  
  
-==== 既存のものに適用 ==== +<code> 
-既に開発中のものに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
 +</code>
  
rubygems.1312252868.txt.gz · 最終更新: 2011/08/02 02:41 by nullpon