「Ruby」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎使用方法: 不要な単語を削除)
 
(2人の利用者による、間の19版が非表示)
5行目: 5行目:
 
{{Related|Ruby on Rails}}
 
{{Related|Ruby on Rails}}
 
{{Related articles end}}
 
{{Related articles end}}
Ruby はシンプリシティと生産性に重点を置いた、オープンソースの動的なスクリ言語です。
+
Ruby はシンプルさと生産性に重点を置いた、動的でインタプリター型のオープンソースプログラミング言語です。
   
== Ruby のインストール ==
+
== インストール ==
最新版の Ruby をインストールするには、{{Pkg|ruby}} パッケージを[[インストール]]してください。これには、[[#RubyGems|RubyGems]] が含まれています
+
Ruby を使用するには、{{Pkg|ruby}} パッケージを[[インストール]]してください。
  +
  +
IRB をインストールするには、{{Pkg|ruby-irb}} パッケージを [[インストール]] します。
   
 
=== 複数のバージョン ===
 
=== 複数のバージョン ===
  +
同じシステム上で複数のバージョン (例: 2.0.0-p0 と 1.9.3-p392) を動作させたい場合、一番簡単な方法は [[RVM]], {{AUR|chruby}}, [[rbenv]] を使うことです。
 
  +
同じシステム上で複数のバージョン (例: 2.0.0-p0 と 1.9.3-p392) を動作させたい場合、一番簡単な方法は [[RVM]], {{AUR|chruby}}, [[rbenv]], {{AUR|asdf-vm}} を使うことです。
   
 
=== ドキュメント ===
 
=== ドキュメント ===
23行目: 26行目:
 
RubyGems は Ruby のモジュール (Gem と呼ばれます) のためのパッケージマネージャで、Arch Linux における [[pacman]] に(多少は)相当します。上述の通り {{pkg|ruby}} に含まれています。
 
RubyGems は Ruby のモジュール (Gem と呼ばれます) のためのパッケージマネージャで、Arch Linux における [[pacman]] に(多少は)相当します。上述の通り {{pkg|ruby}} に含まれています。
   
=== セットアップ ===
+
=== 設定 ===
   
  +
Arch Linux では、デフォルトで {{ic|gem}} を実行すると、gem はシステム全体 ({{ic|/usr/lib/ruby/gems/}}) ではなく、ユーザーごとに ({{ic|~/.local/share/gem/ruby/}}) インストールされます。これは、Pacman によってインストールされた gem に干渉する可能性があるため、Arch における gem の管理に最適な方法と考えられています。
RubyGems を使用する前に、{{ic|$(ruby -e "print Gem.user_dir")/bin}} を {{ic|$PATH}} に追加してください。以下の行を {{ic|~/.bashrc}} に記述してください:
 
PATH="$(ruby -e 'print Gem.user_dir')/bin:$PATH"
 
   
  +
それを設定する推奨方法は、手動で {{ic|$GEM_HOME}} を指定し、それを {{ic|$PATH}} [[環境変数]] に[[追加]]することで RubyGems のバイナリを実行可能にすることです:
ライブラリはパスを修正しなくても動作しますが、フルパスを入力することなく gem を実行するには上記の設定が必須です。
 
   
  +
{{hc|1=~/.profile|2=
上記の方法が上手くいかない場合、上記の代わりにシェルの設定ファイルの末尾に以下の行を追加してみてください:
 
  +
export GEM_HOME="$(gem env user_gemhome)"
 
  +
export PATH="$PATH:$GEM_HOME/bin"
#Setting the GEM_PATH and GEM_HOME variables may not be necessary, check 'gem env' output to verify whether both variables already exist
 
  +
}}
GEM_HOME=$(ls -t -U | ruby -e 'puts Gem.user_dir')
 
  +
GEM_PATH=$GEM_HOME
 
  +
これにより、ライブラリはパスを変更しなくても動作しますが、実行可能な gem をフルパスを指定せずに使用するためには必要です。
export PATH=$PATH:$GEM_HOME/bin
 
  +
  +
{{Note|変更を保存した後、変更を適用するにはターミナルを再起動してください。}}
  +
  +
現在の RubyGems 環境を表示するには {{ic|gem env}} を使用します:
  +
  +
$ gem env
   
 
=== 使用方法 ===
 
=== 使用方法 ===
53行目: 61行目:
 
$ gem install mysql --no-document
 
$ gem install mysql --no-document
   
{{Note|{{ic|~/.gemrc}} ファイルを以下のように設定することでオプションをデフォルトにすることが可能ですfile:
+
{{Note|{{ic|~/.gemrc}} ファイルを以下のように設定することでオプションをデフォルトにすることが可能です:
 
{{hc|~/.gemrc|<nowiki>
 
{{hc|~/.gemrc|<nowiki>
 
gem: --no-document
 
gem: --no-document
61行目: 69行目:
 
$ gem update
 
$ gem update
   
=== gem をユーザー個別またはシステム共通でインストール ===
+
=== gem をシステム共通でインストール ===
 
Arch Linux ではデフォルトで、{{ic|gem}} を実行したとき、gem はシステム共通 ({{ic|/usr/lib/ruby/gems/}}) ではなくユーザー個別 ({{ic|~/.gem/ruby/}}) にインストールされます。システム共通でインストールすると Pacman でインストールした gem と干渉する可能性があるため、Arch で gem を管理するときはユーザー個別のほうが適しているとされています。
 
   
 
{{ic|--no-user-install}} フラグを付けて {{ic|gem}} コマンドを root で実行することで Gem をシステム共通でインストールすることができます。{{ic|/etc/gemrc}} (システム共通) または {{ic|~/.gemrc}} (ユーザー個別、システム共通設定を上書きします) にある {{ic|--user-install}} を {{ic|--no-user-install}} で置き換えることでこのフラグをデフォルトで設定可能です。
 
{{ic|--no-user-install}} フラグを付けて {{ic|gem}} コマンドを root で実行することで Gem をシステム共通でインストールすることができます。{{ic|/etc/gemrc}} (システム共通) または {{ic|~/.gemrc}} (ユーザー個別、システム共通設定を上書きします) にある {{ic|--user-install}} を {{ic|--no-user-install}} で置き換えることでこのフラグをデフォルトで設定可能です。
91行目: 97行目:
   
 
もしくは、次を実行して gem を作業ディレクトリ内の {{ic|.bundle}} にインストールしてください:
 
もしくは、次を実行して gem を作業ディレクトリ内の {{ic|.bundle}} にインストールしてください:
$ bundle install --path .bundle
+
$ bundle config set --local path '.bundle'
  +
  +
{{Note|コマンド `bundle install --path .bundle` は非推奨です。なぜなら、このコマンドは bundler の起動をまたいで記憶することに依存しており、今後のバージョンでは bundler がそのようなことをしなくなるからです。しかし、もし上記のコマンドが有効でない場合は、あなたの ruby のバージョンが古い可能性があるので、このコマンドを使うべきです。}}
   
 
あなたのメインの実行ファイルを編集するのを忘れないで下さい:
 
あなたのメインの実行ファイルを編集するのを忘れないで下さい:
 
{{bc|#!/usr/bin/env ruby
 
{{bc|#!/usr/bin/env ruby
   
  +
# "これは自動的にあなたの Gemfile を発見し、その中のすべての gem を Ruby で利用できるようにします。
# "This will automatically discover your Gemfile, and make all of the gems in
 
# your Gemfile available to Ruby." http://bundler.io/rationale.html
+
# Gemfile にあるすべての gems を Ruby で利用できるようにします。" https://bundler.io/rationale.html
   
 
require 'bundler/setup'
 
require 'bundler/setup'
105行目: 113行目:
   
 
最後に、あなたのプログラムを実行して下さい:
 
最後に、あなたのプログラムを実行して下さい:
{{bc|bundle exec <main_executable_name.rb>}}
+
{{bc|bundle exec main_executable_name.rb}}
   
== pacman を使って RubyGems を管理する ==
+
=== pacman を使って RubyGems を管理する ===
   
{{ic|gem}} を使って gem を管理する代わりに、{{ic|pacman}} や [[AUR]] ヘルパーを使うことできます。Ruby パッケージは ruby-[gemname] という命名規則にしたがっています。この方法では以下の利点があります:
+
{{ic|gem}} gems を管理する代わりに、[[pacman]] や [[AUR ヘルパー]]利用することできます。Ruby パッケージは ruby-''gemname'' という命名規則にっています。
   
  +
このオプションは次のような利点があります。
* システムの他の部分と一緒に Gem が更新されます。その結果、{{ic|gem update}} を実行する必要がなくなります: {{ic|# pacman -Syu}} だけで更新可能です。
 
  +
* Gems はシステムの他の部分と一緒にアップデートされます。
* インストールした gem は、インストールしたユーザーだけでなく、システム全体で使うことができます。
 
  +
* インストールされた gems は、インストールしたユーザだけが利用できるのではなく、システム全体で利用できるようになります。
   
  +
{{Note|指定した gem の PKGBUILD を自動的に生成して ''gem'' と ''pacman'' を統合するツールもあります: [[パッケージの作成#PKGBUILD ジェネレーター]] を見て下さい。}}
gem が AUR に存在しない場合は、{{AUR|gem2arch}} や {{AUR|pacgem}} を使って自動的にパッケージを作成し、pacman でインストールできます。
 
   
 
==== Quarry ====
 
==== Quarry ====
126行目: 135行目:
 
有効にしたら必要な gem をインストールしてください: {{ic|# pacman -S ruby-$gemname}}。
 
有効にしたら必要な gem をインストールしてください: {{ic|# pacman -S ruby-$gemname}}。
   
質問がありましたら、プロジェクトアナウンスに送って下さい: https://bbs.archlinux.org/viewtopic.php?id=182729<br>
+
質問がありましたら、プロジェクトアナウンスに送って下さい: https://bbs.archlinux.org/viewtopic.php?id=182729
  +
バグレポートやコードの改善は github で送って下さい: https://github.com/anatol/quarry
 
  +
== インタラクティブ・シェル ==
  +
=== Pry ===
  +
Pry は Ruby の標準的な IRB シェルに代わる強力なシェルです。シンタックスハイライト、柔軟なプラグインアーキテクチャ、ランタイム呼び出し、ソースとドキュメントのブラウジングが特徴です。
  +
  +
$gem install pry
  +
$pry
   
 
== 参照 ==
 
== 参照 ==
  +
* [[Ruby on Rails]]
 
* Ruby - http://ruby-lang.org/
 
* Ruby - http://ruby-lang.org/
 
* Bundler - http://bundler.io/
 
* Bundler - http://bundler.io/
 
* [http://www.aoky.net/articles/why_poignant_guide_to_ruby/ ホワイの(感動的)Rubyガイド]
 
* [http://www.aoky.net/articles/why_poignant_guide_to_ruby/ ホワイの(感動的)Rubyガイド]
 
* [http://ruby.learncodethehardway.org/ Learn Ruby The Hard Way]
 
* [http://ruby.learncodethehardway.org/ Learn Ruby The Hard Way]
  +
* [https://blog.hyfather.com/blog/2011/10/18/bundler/ Comparison of Bundler and RVM workflows]
  +
  +
{{TranslationStatus|Ruby|2024-08-17|811756}}

2024年8月18日 (日) 08:15時点における最新版

関連記事

Ruby はシンプルさと生産性に重点を置いた、動的でインタプリター型のオープンソースプログラミング言語です。

インストール

Ruby を使用するには、ruby パッケージをインストールしてください。

IRB をインストールするには、ruby-irb パッケージを インストール します。

複数のバージョン

同じシステム上で複数のバージョン (例: 2.0.0-p0 と 1.9.3-p392) を動作させたい場合、一番簡単な方法は RVM, chrubyAUR, rbenv, asdf-vmAUR を使うことです。

ドキュメント

ri コマンドラインツールでドキュメントを見るには、ruby-rdoc および ruby-docs をインストールしてください。次のようにドキュメントを回覧できます: ri Array, ri Array.pop など (man-page と同じような感じです)。

JRuby

JRubyJVM 上に実装された Ruby です。jruby パッケージでインストールできます。

RubyGems

RubyGems は Ruby のモジュール (Gem と呼ばれます) のためのパッケージマネージャで、Arch Linux における pacman に(多少は)相当します。上述の通り ruby に含まれています。

設定

Arch Linux では、デフォルトで gem を実行すると、gem はシステム全体 (/usr/lib/ruby/gems/) ではなく、ユーザーごとに (~/.local/share/gem/ruby/) インストールされます。これは、Pacman によってインストールされた gem に干渉する可能性があるため、Arch における gem の管理に最適な方法と考えられています。

それを設定する推奨方法は、手動で $GEM_HOME を指定し、それを $PATH 環境変数追加することで RubyGems のバイナリを実行可能にすることです:

~/.profile
export GEM_HOME="$(gem env user_gemhome)"
export PATH="$PATH:$GEM_HOME/bin"

これにより、ライブラリはパスを変更しなくても動作しますが、実行可能な gem をフルパスを指定せずに使用するためには必要です。

ノート: 変更を保存した後、変更を適用するにはターミナルを再起動してください。

現在の RubyGems 環境を表示するには gem env を使用します:

$ gem env

使用方法

インストールされている gem を確認するには:

$ gem list

gem についての情報を得るには:

$ gem spec gem_name

デフォルトで、gem listgem spec--local オプションを使います。つまりローカルのシステムだけで gem を検索します。これを --remote フラグで上書きすることが可能です。そう、例えば mysql の gem を検索するには:

$ gem list --remote mysql

gem をインストールするには:

$ gem install mysql

ローカルのドキュメントが必要ない場合はスピードアップすることができます:

$ gem install mysql --no-document
ノート: ~/.gemrc ファイルを以下のように設定することでオプションをデフォルトにすることが可能です:
~/.gemrc
gem: --no-document

インストールされている gem を全てアップデートするには:

$ gem update

gem をシステム共通でインストール

--no-user-install フラグを付けて gem コマンドを root で実行することで Gem をシステム共通でインストールすることができます。/etc/gemrc (システム共通) または ~/.gemrc (ユーザー個別、システム共通設定を上書きします) にある --user-install--no-user-install で置き換えることでこのフラグをデフォルトで設定可能です。

Bundler は gem をあなたのアプリケーションにパッケージングすることでこの問題をある程度解決します。bundler を使用するにあたって下のセクションを見て下さい。

Bundler

Bundler を使うことであなたのアプリケーションが依存している gem はどれか、さらに(任意で)その gem のバージョンは何でなければならないかを指定することができます。この記述があると、Bundler は必要な gem を全て (完全な gem の依存ツリーを含む) インストールして、後の点検のために結果をログに残します。デフォルトで、Bundler は gem を共有の場所にインストールしますが、あなたのアプリケーションに直接インストールすることも可能です。あなたのアプリケーションが実行されると、複数のバージョンの gem がインストールされている時でも、Bundler はそれぞれの gem の正しいバージョンを与えます。これにはわずかばかりの作業が必要です: アプリケーションは bundle exec で呼び出される必要があり、あなたのアプリケーションのメインの実行ファイルに2行のボイラープレートコード(おまじない)を入れなくてはなりません。

Bundler をインストールするには:

$ gem install bundler

デフォルトで、Bundler は gem をシステム全体にインストールします。これは Arch での gem それ自体の挙動とは反対です。これを正すには、次を ~/.bashrc に追加してください:

export GEM_HOME=$(ruby -e 'print Gem.user_dir')

新しい bundle を始めるには:

$ bundle init

次に (bundle init によって作成された) 作業ディレクトリ内の Gemfile を編集して必要な gem を記載してください:

Gemfile
gem "rails", "3.2.9"
gem "mysql"

次を実行して gem を GEM_HOME にインストールしてください:

$ bundle install

もしくは、次を実行して gem を作業ディレクトリ内の .bundle にインストールしてください:

$ bundle config set --local path '.bundle'
ノート: コマンド `bundle install --path .bundle` は非推奨です。なぜなら、このコマンドは bundler の起動をまたいで記憶することに依存しており、今後のバージョンでは bundler がそのようなことをしなくなるからです。しかし、もし上記のコマンドが有効でない場合は、あなたの ruby のバージョンが古い可能性があるので、このコマンドを使うべきです。

あなたのメインの実行ファイルを編集するのを忘れないで下さい:

#!/usr/bin/env ruby

# "これは自動的にあなたの Gemfile を発見し、その中のすべての gem を Ruby で利用できるようにします。
# Gemfile にあるすべての gems を Ruby で利用できるようにします。" https://bundler.io/rationale.html

require 'bundler/setup'

...

最後に、あなたのプログラムを実行して下さい:

bundle exec main_executable_name.rb

pacman を使って RubyGems を管理する

gem で gems を管理する代わりに、pacmanAUR ヘルパーを利用することができます。Ruby のパッケージは ruby-gemname という命名規則に従っています。

このオプションは次のような利点があります。

  • Gems はシステムの他の部分と一緒にアップデートされます。
  • インストールされた gems は、インストールしたユーザだけが利用できるのではなく、システム全体で利用できるようになります。
ノート: 指定した gem の PKGBUILD を自動的に生成して gempacman を統合するツールもあります: パッケージの作成#PKGBUILD ジェネレーター を見て下さい。

Quarry

Quarry は Arch Linux のための rubygems バイナリリポジトリを運営するためのオープンソースツール (GPL3 ライセンス) です。ソースは github でホストされています。

Arch の開発者 anatolik によって非公式の rubygems リポジトリが http://pkgbuild.com/~anatolik/quarry/ で運営されており、いまのところ x86_64 アーキテクチャのみサポートしています。このリポジトリには多数の人気 gem が含まれており、gem を追加するようリクエストを送ることもできます。バイナリパッケージリポジトリは AUR のソースパッケージよりも簡単に使用することが可能です。

リポジトリを有効にする方法は 非公式ユーザーリポジトリ#quarry を見て下さい。

有効にしたら必要な gem をインストールしてください: # pacman -S ruby-$gemname

質問がありましたら、プロジェクトアナウンスに送って下さい: https://bbs.archlinux.org/viewtopic.php?id=182729

インタラクティブ・シェル

Pry

Pry は Ruby の標準的な IRB シェルに代わる強力なシェルです。シンタックスハイライト、柔軟なプラグインアーキテクチャ、ランタイム呼び出し、ソースとドキュメントのブラウジングが特徴です。

$gem install pry
$pry

参照

翻訳ステータス: このページは en:Ruby の翻訳バージョンです。最後の翻訳日は 2024-08-17 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。