sudo apt-get install git sudo apt-get install curl
注意首先把原來的ruby bin目錄從PATH中去掉
安裝 rvm
cd ~
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
cd .rvm/src/rvm
./install
查看 rvm 安裝目錄
wxianfeng@ubuntu:~/.rvm/gemsets/ruby$ echo $rvm_path /home/wxianfeng/.rvm
~/.bashrc中添加下面代碼(PATH之用) 很重要
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" ; fi
安裝 ruby 1.9.2
>rvm notes sudo apt-get install build-essential bison openssl libreadline5 libreadline5-dev curl git zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev autoconf rvm install 1.9.2
查看:
wxianfeng@ubuntu:~$ rvm list rvm rubies ruby-1.9.2-p0 [ i386 ]
設置默認的 ruby 版本(必須設置)
>rvm --default ruby-1.9.2-p0
可以看到 相關信息
wxianfeng@ubuntu:~$ rvm info ruby-1.9.2-p0: system: uname: "Linux ubuntu 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux" bash: "/bin/bash => GNU bash, version 4.1.5(1)-release (i686-pc-linux-gnu)" zsh: " => not installed" rvm: version: "rvm 1.1.0 by Wayne E. Seguin ([email protected]) [http://rvm.beginrescueend.com/]" ruby: interpreter: "ruby" version: "1.9.2p0" date: "2010-08-18" platform: "i686-linux" patchlevel: "2010-08-18 revision 29036" full_version: "ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]" homes: gem: "/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0" ruby: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0" binaries: ruby: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/ruby" irb: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/irb" gem: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/gem" rake: "/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0/bin/rake" environment: PATH: "/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0/bin:/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0@global/bin:/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin:/home/wxianfeng/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/system/mysql/bin:/usr/local/system/jdk1.6.0_22/bin" GEM_HOME: "/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0" GEM_PATH: "/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0:/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0@global" MY_RUBY_HOME: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0" IRBRC: "/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/.irbrc" RUBYOPT: "" gemset: ""
這時發現你的PATH已經變了
wxianfeng@ubuntu:~$ echo $PATH /home/wxianfeng/.rvm/gems/ruby-1.9.2-p0/bin:/home/wxianfeng/.rvm/gems/ruby-1.9.2-p0@global/bin:/home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin:/home/wxianfeng/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/system/mysql/bin:/usr/local/system/jdk1.6.0_22/bin
wxianfeng@ubuntu:~$ ruby -v ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]
ruby 1.9.2 安裝成功
安裝rails
wxianfeng@ubuntu:~$ gem install rails --pre --no-ri --no-rdoc /home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4: warning: Insecure world writable dir /usr/local/system in PATH, mode 040777 Successfully installed activesupport-3.0.0.rc2 Successfully installed builder-2.1.2 Successfully installed i18n-0.4.2 Successfully installed activemodel-3.0.0.rc2 Successfully installed rack-1.2.1 Successfully installed rack-test-0.5.6 Successfully installed rack-mount-0.6.13 Successfully installed tzinfo-0.3.23 Successfully installed abstract-1.0.0 Successfully installed erubis-2.6.6 Successfully installed actionpack-3.0.0.rc2 Successfully installed arel-1.0.0.rc1 Successfully installed activerecord-3.0.0.rc2 Successfully installed activeresource-3.0.0.rc2 Successfully installed mime-types-1.16 Successfully installed polyglot-0.3.1 Successfully installed treetop-1.4.9 Successfully installed mail-2.2.10 Successfully installed actionmailer-3.0.0.rc2 Successfully installed thor-0.14.6 Successfully installed railties-3.0.0.rc2 Successfully installed bundler-1.0.0.rc.6 Successfully installed rails-3.0.0.rc2 23 gems installed
有提示我path中有777權限目錄,看着不順眼,解決掉:
sudo chmod go-w /usr/local/system
發現安裝上的是 3.0.0.rc2 不是我想要的,目前最新版是 3.0.3
咋辦,用shell腳本全部remove掉
shell:
#!/bin/bash for i in `gem list` do gem uninstall $i done
最後發現rake無法uninstall掉,好那就進入目錄把rake delete掉
wxianfeng@ubuntu:~$ gem list -d rake /home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4: warning: Insecure world writable dir /usr/local/system in PATH, mode 040777 *** LOCAL GEMS *** rake (0.8.7) Author: Jim Weirich Rubyforge: http://rubyforge.org/projects/rake Homepage: http://rake.rubyforge.org Installed at: /home/wxianfeng/.rvm/gems/ruby-1.9.2-p0@global Ruby based make-like utility. >cd /home/wxianfeng/.rvm/gems/ruby-1.9.2-p0@global wxianfeng@ubuntu:~/.rvm/gems/ruby-1.9.2-p0@global$ ll total 28 drwxr-xr-x 7 wxianfeng wxianfeng 4096 2010-11-23 14:14 ./ drwxr-xr-x 5 wxianfeng wxianfeng 4096 2010-11-23 14:14 ../ drwxr-xr-x 2 wxianfeng wxianfeng 4096 2010-11-23 15:21 bin/ drwxr-xr-x 2 wxianfeng wxianfeng 4096 2010-11-23 15:22 cache/ drwxr-xr-x 2 wxianfeng wxianfeng 4096 2010-11-23 15:22 doc/ drwxr-xr-x 2 wxianfeng wxianfeng 4096 2010-11-23 15:20 gems/ drwxr-xr-x 2 wxianfeng wxianfeng 4096 2010-11-23 15:21 specifications/
把bin cache doc gems specifications 下和rake相關的信息全部remove掉
重新安裝成功 rails 3.0.3
wxianfeng@ubuntu:~$ gem install rails -v=3.0.3 --no-ri --no-rdoc /home/wxianfeng/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4: warning: Insecure world writable dir /usr/local/system in PATH, mode 040777 Successfully installed activesupport-3.0.3 Successfully installed builder-2.1.2 Successfully installed i18n-0.4.2 Successfully installed activemodel-3.0.3 Successfully installed rack-1.2.1 Successfully installed rack-test-0.5.6 Successfully installed rack-mount-0.6.13 Successfully installed tzinfo-0.3.23 Successfully installed abstract-1.0.0 Successfully installed erubis-2.6.6 Successfully installed actionpack-3.0.3 Successfully installed arel-2.0.4 Successfully installed activerecord-3.0.3 Successfully installed activeresource-3.0.3 Successfully installed mime-types-1.16 Successfully installed polyglot-0.3.1 Successfully installed treetop-1.4.9 Successfully installed mail-2.2.10 Successfully installed actionmailer-3.0.3 Successfully installed rake-0.8.7 Successfully installed thor-0.14.6 Successfully installed railties-3.0.3 Successfully installed bundler-1.0.7 Successfully installed rails-3.0.3 24 gems installed
wxianfeng@ubuntu:~$ rails -v Rails 3.0.3
安裝 ruby 1.8.7
>rvm install 1.8.7
切換到 1.8.7
wxianfeng@ubuntu:~/.rvm/gemsets/ruby$ rvm 1.8.7
wxianfeng@ubuntu:~/.rvm/gemsets/ruby$ gem list /home/wxianfeng/.rvm/rubies/ruby-1.8.7-p302/bin/gem:4: warning: Insecure world writable dir /usr/local/system in PATH, mode 040777 *** LOCAL GEMS *** rake (0.8.7)
悲劇的發現 其實 默認rake是安裝上的,之前我還把它 給幹掉 重新安裝了
安裝 rails 2.3.5
>gem install rails -v=2.3.5 --no-ri --no-rdoc
以後切換的話 就用 rvm —default 1.8.7 或者 rvm —default 1.9.2 切換默認的ruby版本,可以使用 rvm 1.8.7 切換當前終端版本到1.8.7 , 也就是可以同時開ruby 1.8.7 , ruby 1.9.2 的項目了
安裝之前ruby 1.8.7 + rails 2.3.5 項目的 所有gems (注意把ruby版本切到1.8.7), 如果已經安裝了,就不安裝:
shell:
#!/bin/bash # 安裝所有的gems,如果已經安裝了就不安裝 cd /usr/local/system/ruby/lib/ruby/gems/1.8/cache for i in `ls`;do gem=`echo $i | awk -F'-' '{print $1}'` version=`echo $i | grep -o "\-[0-9].*" | sed 's/^-//;s/.gem//'` is_gem_exist=`gem list $gem -v=$version` if [ -z "$is_gem_exist" ]; then # 注意[] 內部兩邊留空格 `gem install $i` else echo "$i have installed" fi done
這樣,之前ruby 1.8.7+rails2.3.4的項目 和現在的 ruby 1.9.2 + rails 3.0.3 都兼容了…oh…YEAR
問題: netbeans 配置使用 ruby 1.8.7 + rails 2.3.5 OR ruby 1.9.2 + rails 3.0.3 ?
更改netbeans 的ruby path ,選擇 autodetect 會把ruby的bin全部找出來,但是注意gem path 有可能錯誤,通過 rvm info 看下 gem 的位置,然後手動更改即可~!
SEE:
http://thoughtrails.com/episodes/1-installing-rails-3-on-ubuntu-10-04-lucid-lynx-with-rvm
http://rvm.beginrescueend.com/rvm/install/