ubuntu下ROR安裝選擇單用戶或多用戶

一、僅僅在當前用戶下安裝,則默認安裝在$HOME/.rvm下,

二、也可裝到另一個用戶下,

三、多用戶安裝:非root,需要有2個以上用戶,且安裝時用sudo ,在/usr/local/rvm

使用RVM在ubuntu下安裝ruby&rails

 

前面講過如何在ubuntu下以源碼方式安裝ruby、不過這種方法始終會比較麻煩、莪們可以使用rvm來進行版本管理當然也能使用rvm來進行安裝、這可是類linux專屬的工具、哈哈、在linux安裝rvm也是一條命令的事情、但在這之前、莪們需要安裝一些其它的軟件來確保程序能夠安裝、

一、首先要安裝 curl 和 git;

sudo apt-get installcurl

sudo apt-get install git


二、安裝RVM
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

#安裝在當前用戶下。注意不要使用sudo安裝;

然後rvm就已經安裝好了、但還不能直接通過終端在任何位置使用rvm命令、所以莪們先把rvm加入linux的shell命令先、進入用戶目錄、簡單的輸入下cd ~就可以了、使用任何工具編輯.bash_profile這個文件、可以使用vi、當然也可以使用gedit、輸入命令

vi .bash_profile               #如果當前目錄不是用戶目錄、命令改成
vi ~/.bash_profile      #ubuntu下是 ~/.profile    ;終端開啓調用的是~/.bashrc

這樣在任何地方都可以修改這個文件、再在最底下添加一行

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function

保存便可以了、然後再執行一下source .bash_profile、[ source ~/.bashrc  或 source ~/.profile ] 在終端輸入rvm -v的話、看到rvm版本信息就表示已經安裝成功了、如果source .bash_profile不行的話、試試清空掉.bash_profile文件、改成這句

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM function

 當然都是在用戶目錄下執行的、不是用戶目錄依然要這麼寫~/.bash_profile

++++++++++++++++++++++++++++++++++++++++

注意啦、這個是RVM官方的安裝方法、但每個 linux的發行版本都是不一樣的!在這裏ubuntu裏是沒有.bash_profile這個文件的、莪們當然可以新建一個.bash_profile再把這個語句加上去、但這樣會有問題、比如會導致ll這些命令用不了和其它稀奇古怪的事情發生、注意啦!!!在ubuntu的用戶主目錄下、.profile就是一般linux版本的.bash_profile、所以上面的操作如果是在ubuntu裏面安裝統統要改成在.profile這個文件裏添加 !!

 ++++++++++++++++++++++++++++++++++++++++

三、安裝rails依賴包:

輸入rvm requirements ,按提示信息安裝所有依賴包:

複製包列表,再輸入 sudo apt-get install ,按ctrl+shift+V快捷鍵把包列表複製到命令行,回車運行安裝。

sudo apt-get install build-essential bison openssl libreadline6 libreadline6-dev curl git-core zlib1g
zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf

已經安裝完了以上工具、再執行第一條命令便可以了、記得不要使用sudo來安裝、如果邇使用sudo安裝、那麼會把rvm安裝到了root用戶底下、所以邇基於一切的rvm設置都要基於root了、所以不要使用sudo來安裝rvm、如果邇想在root和當前用戶都能用、那已經涉及到多用戶安裝rvm的問題了、現在這個問題暫時先擱下先、

 安裝好rvm後,檢測rvm info;

四、安裝1.9.2     這個版本、現在是最適合的、雖然已經出了1.9.3

執行命令

rvm install 1.9.2

邇要是想裝其它的版本就按此格式改好了、rvm是一個多版本管理工具、所以邇再安裝1.8.7和1.9.3也是沒問題的、問題是到時怎麼切換回1.9.2、莪們可以用這個命令、

rvm use 1.9.2

這樣便可以隨時切換回1.9.2了、不過只要邇關閉了這個終端或者新起一個終端、邇又要重新執行過一次這個命令、所以邇可以執行以下的命令來現實永久的切換

rvm --default use 1.9.2 

ok、目錄爲止邇可以任意使用ruby -v或者gem -v來確認是否安裝好ruby、

五、使用gem install rails便可以順利安裝rails

有一點要注意的、莪們剛剛是以單用戶方式來安裝rvm的、所以當邇在系統分區或者非當前用戶權限可以訪問的地方建立rails項目、是被禁止的、因爲當邇想在非權限範圍內的地方、只能使用sudo來臨時調用root權限來建立、但這樣問題來了、因爲rvm只安裝在當前的用戶、所以對於root用戶來說是未安裝rvm的、這回有權限卻不能使用rails命令、所以通過單用戶安裝rvm的話、rails項目只能建立在當前用戶權限範圍內的目錄、推薦用戶目錄

 六,新建一個rails項目:

     rails new demo

     cd demo

     運行 rails server

     如果提示沒有javascript runtime 則需要安裝,可選 Node.js:

     #注意,我並沒有安裝到自定義目錄下,而是裝到usr/local

     安裝 Nodejs 套件

     兩種方法:1.用 apt-get install nodejs 2. 用 tar 方式原始編譯

     原始編譯過程如下:

     $ mkdir ~/opt/&& cd opt
    $ tar -zxvf node-v0.4.10.tar.gz
    $ cd node-v0.4.10/
    $ ./configure --prefix=~/opt/node

     到這裡,如果 compiler 成功,就會產生出 Makefile,如果中間遇到錯誤訊息,大概都是套件沒有安裝,接著執行

    $ make&& make install

   將執行檔路徑放到 PATH

    修改 ~/.bashrc,增加底下

    export PATH="$HOME/opt/bin/:$PATH"
    export NODE_PATH="$HOME/opt/node:$HOME/opt/node/lib/node_modules"
    # 重新執行 shell 或者是重新登入即可
   source ~/.bashrc

七、其他      #注意:後面步驟我沒有試過,故沒有建議。

P.S.:有些同學會碰到執行gem install rails的時候會報出錯誤、缺少zlib這樣什麼什麼的、這可能就是安裝ruby的時候沒有安裝了這個依賴包、估計是被牆掉的、於是莪們執行

rvm pkg install zlib

如果還是報錯、應該就是網絡爬不上去、被牆了、=。 =、這個時候邇就需要自己下zlib的包放在本地目錄.rvm/archives裏(如果邇是多用戶的形式來安裝的話、那麼就是位於/usr/local/rvm/archives下)、然後再執行這個命令就OK了、以後有什麼使用rvm pkg install命令不能直接網絡安裝的都要自己下載離線包去archives目錄、然後再把原來的ruby1.9.2卸載掉以依賴包安裝、執行以下命令就OK啦

 rvm remove 1.9.2
 rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr

類似的問題還有openssl、啓動rails s時、也會報錯、同樣是要在rvm上安裝openssl、然後--with-openssl-dir啊啊啊這樣子、所以莪的建議是、索性在安裝的時候、pkg zlib、pkg openssl、pkg啊啊啊的、然後再rvm install 1.9.2 --with-zlib-dir=$rvm_path/usr --with-openssl-dir=$rvm_path/usr啊啊啊完咯



P.S.2:linux下安裝rails真是折騰、如果邇啓動rails s的過程中、遇到啓動錯誤、sqlite3報錯!An error occured while installing sqlite3 (1.3.4), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.3.4'` succeeds before bundling.
那麼執行以下命令就可以了

apt-get install libsqlite3-dev

接着邇便可以進入目錄下用rails然後啓動服務器、對了、對於新啓動的rails項目、都要在Gemfile文件裏添加Javascript解析器

gem 'execjs'
gem 'therubyracer'

然後在項目的根目錄執行一次bundle install完成後就可以了

如果邇想在rails使用postpgsql的數據庫、只需要在Gemfile裏面加入gem 'pg'再執行bundle install就可以了、

如果報出了錯誤

Building native extensions.  This could take a while…
ERROR:  Error installing pg:
        ERROR: Failed to build gem native extension.

那麼安裝以下組件就可以了

sudo apt-get install libpq-dev

 



以上方法是單用戶方式安裝rvm的、如果邇想安裝多用戶、那麼安裝rvm時必須以sudo來安裝、而且不能使用root用戶來安裝、執行

sudo bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )

 

P.S.:當邇決定使用多用戶方式來安裝之前、請確保已經擁有了root用戶、或者先修改一下/etc/sudoers這個文件、不然會造成修改後無法使用sudo命令會讓邇欲哭無淚了

 

這樣子的話就會把rvm安裝至/usr/local/rvm目錄、而不是單用戶時的~/.rvm/目錄、而且也會在/etc/profile.d/rvm.sh生成一個初始加載的shell、

然後把需要加用的用戶加入到rvm組、比如邇的用戶是klobohyz、

sudo usermod -G rvm klobohyz

這樣就ok了、不過還不能使用、必須先登出再登入才能使用、這樣子就可以使用rvm命令了、注意、登入後不要再切換其它的用戶、否則rvm又會失效、這個時候邇需要重新登錄該用戶就可以了、如果邇重新登錄出現當前用戶無法再使用sudo這個命令的話、請參考這個文章:http://www.cnblogs.com/klobohyz/archive/2011/12/22/2297392.html

參考:

使用RVM在ubuntu下安裝ruby&rails

http://www.cnblogs.com/klobohyz/archive/2011/11/20/2256518.html

Passenger/Nginx/Ubuntu快速部署Rails 3.1

http://ruby-china.org/topics/701

無痛安裝 NodeJS 和 Node Framework Express

http://blog.wu-boy.com/2011/08/%E7%84%A1%E7%97%9B%E5%AE%89%E8%A3%9D-nodejs-%E5%92%8C-node-framework-express/


發佈了42 篇原創文章 · 獲贊 2 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章