讓所有使用者都可以使用 ruby
我打算在編寫執行基於 Debian 的 Occidentals 的 Raspberry Pi 時使用 Ruby。通過 SSH,我執行了:
curl -L https://get.rvm.io | bash -s stable --ruby
它下載了ruby源並編譯了它。它的工具大約需要 2 小時才能完成。我想通過 AdaFruit 的 WebIDE - http://learn.adafruit.com/webide/使用 ruby 。但是,我通過 SSH 執行的 ruby 安裝
.rvm
在pi
使用者目錄中創建了一個名為的文件夾,而 WebIDE 使用webide
使用者帳戶。允許
webide
使用者帳戶訪問 ruby 的最佳方法是什麼?我嘗試將.rvm
文件夾從移動/home/pi
到/etc/share
,但這不起作用 - 嘗試在終端上使用 ruby 時出現錯誤“錯誤:缺少 RVM 環境文件:’/home/pi/.rvm/environments/ruby-2.0. 0-p353’" 所以我一定是斷開了一些連結。我正在阻止為 webide 使用者執行另一個 2 小時安裝,因為我確信有更好的方法!
不要忽視 RVM 的價值
您可以使用 Ruby 的儲存庫版本,但我建議採用另一種方式並使用 RVM 來管理 Ruby。我意識到這似乎讓您放慢了速度,但是通過儲存庫部署的 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
,應該也可以在目錄中安裝額外的 Rubies/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
安裝第二個 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 安裝程序,然後使用
scp
將安裝程序複製到本系統。$ curl -L https://github.com/wayneeseguin/rvm/tarball/stable -o rvm-stable.tar.gz
請參閱此處,離線模式下的 RVM 以獲取完整的詳細資訊。
參考