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

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

DebianベースのOccidentalsを実行するRaspberry PiをプログラムするときにRubyを使用する予定です。 SSH経由で以下を実行しました。

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

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

webideユーザーアカウントがRubyにアクセスできるようにする最善の方法は何ですか?.rvmフォルダをからに/home/pi移動しようとしましたが、/etc/share動作しませんでした。ターミナルでRubyを使用しようとすると、「エラー:RVM環境ファイルがありません: '/home/pi/.rvm/environments/ruby - 2.0」エラーが発生しました。 。 0-p353 '"だからいくつかのリンクが壊れているようです。

より良い方法があると確信しているので、Webサイドユーザーのためにさらに2時間のインストールを実行したくありません!

ベストアンサー1

RVMの価値を見落とさないでください

Rubyのリポジトリバージョンを使用できますが、Rubyを管理するにはRVMを使用することをお勧めします。これは遅くなるように見えるかもしれませんが、リポジトリを介して配布されたRubyのバージョンは、利用可能な場合にしばしば問題を引き起こします。一般に、特定のアプリケーションやユースケースに合わせてカスタマイズできる専用バージョンのインタプリタと必須ライブラリ(Gem)を作成するのが最善です。

RVMは、シングルユーザー(ユーザーが実行するアクション)用のインストール機能とマルチユーザーインストール機能を提供します。

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

この方法でインストールを実行すると、/usr/local/rvmUnixグループのすべてのユーザーがソフトウェアにアクセスできるUnixグループにあるマルチユーザーインストールのRVMが自動的に起動されます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)も別のRubyをディレクトリにインストールできる必要があります/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

上記では、ユーザーがwebideRubyをインストールできることがわかります。

すべての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-p484ruby-2.0.0-p195使用するように構成されています。

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

ダウンロードが遅い場合は、オフラインインストール方法を使用できます。これにより、後で再インストールできます。または、そのシステムからダウンロードする際に問題がある可能性があります。あるシステムにRVMインストーラをダウンロードしてからscp

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

ねえ、RVMがオフラインモードになっています。詳細を確認してください。

引用する

おすすめ記事