ユーザ用ツール

サイト用ツール


rubygems

差分

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

この比較画面へのリンク

次のリビジョン
前のリビジョン
rubygems [2010/10/06 03:31] – 外部編集 127.0.0.1rubygems [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をインストールしている場合
   $ sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config    $ sudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/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=/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
行 75: 行 104:
 2カ所あるruby.exeの後ろにダブルクオートが2つ付いているので取る。 2カ所あるruby.exeの後ろにダブルクオートが2つ付いているので取る。
  
-===== Ubuntuでgem update --systemして動かなくなる =====+===== Ubuntu 8.04 でgem update --systemして動かなくなる =====
 for Ruby 1.8.6 and Ubuntu 8.04 for Ruby 1.8.6 and Ubuntu 8.04
  
行 100: 行 129:
 </code> </code>
  
 +===== 既存のgemファイルを弄る =====
  
 +既存のgemの取得・展開して修正する
 +<code>
 +$ gem fetch hogehoge
 +$ gem unpack hogehoge-x.y.z
 +</code>
  
 +修正が終わったら再度パッケージする。
  
 +ファイル構成が変わった場合はgemspecを作り直す
 +<code>
 +$ gem spec hogehoge > hogehoge.gemspec
 +</code>
  
-===== gemパッケージ作成 ===== +gemパッケージ作成 
-gemパッケージを自分で作る方法、newgemというライブラリを使うと簡単に作成できる。+<code> 
 +gem build hogehoge.gemspec 
 +</code>
  
-インストール +===== ローカルからインストール =====
-  $ gem install newgem+
  
-するとnewgemというコマンドが作ら。 +gemをローカルかインストールす場合など
-  $ newgem+
  
-Rubyのライブラリを作る場所で 
-  $ newgem hoge -T spec  
  
-hogeディレクトリが作成され、その中にライブラリ、rakeタスク等が作成される。-Tオプションでテストライブラリを指定、デフォルトTest::Unit、-T rspecでRSpecを指定。 +<code> 
- +# 適当な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
 +</code>
  
rubygems.1286335894.txt.gz · 最終更新: 2011/05/20 08:08 (外部編集)