web-dev-qa-db-ja.com

Rubyをすべてのユーザーが利用できるようにする

私は、Debianベースのオクシデンタルを実行しているRaspberry PiをプログラミングするときにRubyを使用するつもりです。SSH経由で、次のコマンドを実行しました。

curl -L https://get.rvm.io | bash -s stable --Ruby

Rubyソースをダウンロードしてコンパイルしました。完了するまでに約2時間かかります。AdaFruitのWebIDEを介してRubyを使用します- http ://learn.adafruit.com/webide/ 。ただし、Ruby SSHを介して実行したインストールでは、pi.rvmというフォルダが作成されましたユーザーのディレクトリ。WebIDEはwebideユーザーアカウントを使用します。

webideユーザーアカウントにルビーへのアクセスを許可する最良の方法は何ですか? .rvmフォルダを/home/piから/etc/shareに移動しようとしましたが、これは機能しませんでした。Rubyをターミナルで使用しようとすると、エラー「ERROR:Missing RVM environment file: '/home/pi/.rvm/environments/Ruby-2.0.0-p353'」なので、いくつかのリンクを切断している必要があります。

より良い方法があると確信しているので、私はwebideユーザーの別の2時間のインストールの実行を控えています!

7
barry

RVMの値を無視しないでください

Rubyのリポジトリバージョンを使用できますが、Rubyを管理するために別の方法でRVMを使用することをお勧めします。遅くなっているように見えるかもしれませんが、リポジトリ経由でデプロイされたRubyのバージョンは使用可能ですが、多くの場合、問題が発生する可能性があります。一般に、特定のアプリケーションやユースケース専用のインタープリターと必要なライブラリー(Gems)の専用バージョンを作成するのが最善です。

RVMは、マルチユーザーインストールを実行するだけでなく、シングルユーザー(これはユーザーが行った操作)をインストールする機能を提供します。

$ curl -L https://get.rvm.io | Sudo bash -s stable

この方法でインストールを実行すると、RVMが自動的にトリガーされ、/usr/local/rvmにソフトウェアをインストールするマルチユーザーインストールが実行されます。ここから、Unixグループrvmに属しているすべてのユーザーがソフトウェアにアクセスできます。

$ Sudo usermod -a -G rvm <user>

ここで、<user>はユーザーwebideです。

Rubyのインストール

次に、各ユーザーの$HOME/.bashrcに以下を追加します。私は通常これをファイルの最後に置きます:

[[ -s /usr/local/rvm/scripts/rvm ]] && source /usr/local/rvm/scripts/rvm

これで、ログアウトしてからログインし直すことができます。

注1:gnome-terminalで別のタブを開始するだけでは不十分で、新しくログインしたセッションである必要があります。これにより、このユーザーを追加したばかりのグループがピックアップされます。

注2:以下のファイルがすでにここにインストールされている場合は、これを$HOME/.bashrcに追加する必要はないでしょう。システムのrvmグループに属するすべてのユーザーに対して、上記に加えてさらに多くのことを行います。

$ ls -l /etc/profile.d/rvm.sh 
-rwxr-xr-x 1 root root 1698 Nov 27 21:14 /etc/profile.d/rvm.sh

ログインしたら、Rubyをインストールする必要があります。ユーザーwebideとして、次の手順を使用してこれを行うことができます。

インストールできるバージョンは?

$ rvm list known | less
...
# MRI Rubies
[Ruby-]1.8.6[-p420]
[Ruby-]1.8.7[-p374]
[Ruby-]1.9.1[-p431]
[Ruby-]1.9.2[-p320]
[Ruby-]1.9.3[-p484]
[Ruby-]2.0.0-p195
[Ruby-]2.0.0[-p353]
[Ruby-]2.1.0-preview2
[Ruby-]2.1.0-head
Ruby-head
...

注:Rubyを初めてインストールするときは、依存関係をインストールできるように、Sudo権限を持つユーザーを使用してこれを行う必要があります。たとえばUbuntuでは、このタイプのアクティビティが表示されます。これらがインストールされると、webideなどの他のユーザーも、追加のルビーを/usr/local/rvmディレクトリにインストールできるようになります。

Installing requirements for ubuntu.
Updating system..............................................................................................................
Installing required packages: libreadline6-dev, zlib1g-dev, libssl-dev, libyaml-dev, libsqlite3-dev, sqlite3, autoconf, libgdbm-dev, libncurses5-dev, automake, libtool, bison, libffi-dev...............................................................................................
Requirements installation successful.

インストールされているバージョンの表示

$ rvm list

rvm rubies

 * Ruby-1.9.3-p484 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

2番目のRubyのインストール

$ whoami
webide

$ rvm install 2.0.0-p195
...
Ruby-2.0.0-p195 - #validate binary
Ruby-2.0.0-p195 - #setup
Saving wrappers to '/usr/local/rvm/wrappers/Ruby-2.0.0-p195'........
Ruby-2.0.0-p195 - #importing default gemsets, this may take time..................

次に、インストールされているものをリストします。

$ rvm list

rvm rubies

 * Ruby-1.9.3-p484 [ x86_64 ]
   Ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

上記から、ユーザーwebideがRubyをインストールできたことがわかります。

すべてのRVMユーザーのデフォルトを設定する

$ rvm use Ruby-2.0.0-p195 --default
Using /usr/local/rvm/gems/Ruby-2.0.0-p195

$ rvm list

rvm rubies

   Ruby-1.9.3-p484 [ x86_64 ]
=* Ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

rvmグループに属する別のユーザーとしてログインすると、Ruby-2.0.0-p195をデフォルトに設定した場合の効果を確認できます。

$ rvm list

rvm rubies

=> Ruby-1.9.3-p484 [ x86_64 ]
 * Ruby-2.0.0-p195 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

したがって、このユーザーはRuby-1.9.3-p484を使用しており、Ruby-2.0.0-p195をデフォルトとして使用するように設定されています。

ダウンロード/インストールが遅い

ダウンロードに時間がかかる場合は、代わりにオフラインインストールを使用することをお勧めします。これにより、後で再インストールできます。または、このシステムを介したダウンロードに問題がある可能性があります。RVMインストーラーを1つのシステムにダウンロードしてから、scpを使用してインストーラーをこのシステムに後でコピーできます。

$ curl -L https://github.com/wayneeseguin/rvm/tarball/stable -o rvm-stable.tar.gz

詳細については、こちら オフラインモードのRVM を参照してください。

参考文献

18
slm

debianベースのディストリビューションを実行しているので、Rubyをインストールする最も簡単な方法は、以下をrootとして実行することです(たとえば、Sudoまたは任意の方法を使用して)。

 aptitude install Ruby
1
umläute