首頁 > 軟體

安裝Ruby和安裝Rails詳細步驟詳解

2022-04-18 22:02:18

rbenv安裝Ruby

rbenv可以管理多個版本的ruby。可以分為3種範圍(或者說不同生效作用域)的版本:

  • local版:本地,針對各專案範圍(只在某個目錄下有效)

  • global版:全域性,沒有shell和local版時使用global版

  • shell版:當前終端,只針對當前所在終端

查詢優先順序為shell>local>global

安裝rbenv和Ruby

1.安裝rbenv

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

2.安裝ruby-build工作,可自動編譯安裝ruby。它可以作為rbenv的外掛,也可以作為獨立程式,建議採用外掛的方式。(如果已經有了,就跳過這一步,只要確保有rbenv命令就可以)

# 作為rbenv外掛
mkdir -p "$(rbenv root)"/plugins
git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build

# 作為獨立程式
git clone https://github.com/rbenv/ruby-build.git ~/ruby-build
PREFIX=/usr/local ./ruby-build/install.sh

3.選擇ruby版本,安裝ruby

rbenv install --list
rbenv install 2.6.2

預設情況下,安裝是很慢的,因為要從官方下載原始碼包進行編譯,下載的過程非常慢。

如果編譯失敗,可能是少了一些依賴包,在編譯失敗的時候會提示你執行什麼命令來安裝這些包(非常人性)。比如需要readline-devel包。

yum -y install readline-devel

4.安裝完ruby或切換了ruby之後,都需要執行rehash操作,讓rbenv知道剛才新裝了一個ruby。

rbenv rehash

5.進入到專案目錄/ror/ror1,設定local ruby版本

cd /ror/ror1
rbenv local 2.6.2

6.設定gem源

# 注意是ruby-china.com/,ruby-china.org的域名已經改成了.com
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources -l

解決rbenv安裝慢問題

方案1

從 https://cache.ruby-china.com/pub/ruby/ 將ruby對應版本檔案下載下來,將檔案丟到~/.rbenv/cache目錄下。

注意點:

  • ~/.rbenv/cache目錄可能不存在,需要先建立
  • 下載儲存下來的版本可能不是rbenv install時所需的版本,因為同一個版本的檔案有.tar.bz2的,有.tar.xz的等等,rbenv對安裝不同的ruby版本使用的檔案字尾可能不一樣,可以先執行下rbenv install 2.6.3後立馬ctrl+c,再去下載顯示出來對應字尾的包

以下是一個範例:

#  先rbenv install看看使用什麼字尾的版本檔案
# 這裡顯示的是使用.tar.bz2字尾的檔案
$ rbenv install 2.6.2
Downloading ruby-2.6.2.tar.bz2...
^C

# 所以下載.tar.bz2的檔案
$ wget 'https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2' -P ~/.rbenv/cache

# 安裝即可
$ rbenv install 2.6.2

方案2

可以從 https://cache.ruby-china.com/pub/ruby/ 將ruby對應版本檔案下載下來,然後安裝。但注意先設定環境變數,並且在此環境變數url之後加上特殊符號#?

# 以ruby-2.6.2為例
wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.2.tar.bz2 -P ~
RUBY_BUILD_MIRROR_URL='file:///~/ruby-2.6.2.tar.bz2#' rbenv install 2.6.2 --verbose

# 另:也可以設定代理https_proxy=IP:PORT加速下載

方案3

有時候上面的方案2會失效,不同版本可能不一樣。但是,這裡可以使用一個rbenv外掛,讓rbenv直接使用中國的映象站點下載。直接執行下面的命令即可。

git clone https://github.com/andorchen/rbenv-china-mirror.git "$(rbenv root)"/plugins/rbenv-china-mirror

更新rbenv的ruby版本列表

安裝rbenv一段時間之後,ruby可能釋出了新的版本,這時rbenv無法獲取到這個新版本的資訊。因此需要更新rbenv的可安裝列表。

實際上,更新ruby-build外掛即可:

# ruby-build作為rbenv外掛時
git -C "$(rbenv root)"/plugins/ruby-build pull

# ruby-build作為獨立程式時
cd
git clone https://github.com/rbenv/ruby-build.git
PREFIX=/usr/local ./ruby-build/install.sh

然後就可以檢視新的ruby版本並安裝。

多版本ruby

上面已經裝了一個ruby了,現在再裝一個ruby 2.6.1:

# 以ruby-2.6.1為例
$ wget https://cache.ruby-china.com/pub/ruby/2.6/ruby-2.6.1.tar.bz2 -P /root

$ RUBY_BUILD_MIRROR_URL='file:///~/ruby-2.6.1.tar.bz2#' rbenv install 2.6.1 --verbose

$ rbenv rehash

現在,就有了兩個版本,可以使用rbenv versions命令檢視(複數versions表示列出已裝所有版本,單數version表示列出當前所使用的ruby版本)。

$ rbenv versions

現在,就可以通過rbenv [local | shell | global] VERSION來設定多版本共存的ruby了。

比如:

$ rbenv local 2.6.1
$ rbenv version

rbenv命令列

$ rbenv --help
Usage: rbenv <command> [<args>]

Some useful rbenv commands are:
   commands    列出rbenv的所有命令列表
   local       設定或顯示local application-specific Ruby version
   global      設定或顯示global Ruby version
   shell       設定或顯示shell-specific Ruby version
   install     使用ruby-build安裝指定的ruby版本
   uninstall   解除安裝指定版本
   rehash      rehash,每次安裝完ruby後都要執行,否則rbenv不知道剛才新裝ruby的資訊
               (rbenv通過檢查~/.rbenv/shims來獲取ruby資訊)
   version     顯示當前ruby版本
   versions    顯示所有已裝ruby版本
   which       顯示ruby命令的全路徑
   whence      列出包含該可執行命令的所有ruby版本

See `rbenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/rbenv/rbenv#readme

完整的命令列表可檢視rbenv commands,各命令使用方法,可檢視rbenv help COMMAND

安裝rails

cd /ror/ror1

# 檢視已有的rails版本號
gem list --remote | grep '^rails' | head

# 安裝最新版的rails
gem install rails

# 安裝指定版本的rails
# gem install rails -v VERSION
gem install rails -v 5.1.3

安裝了指定版本的rails後,rails建立的專案不一定就是指定版本的。比如上面安裝的是5.1.3版本的rails,rails new blog可能會建立rails 6.0.3.2版本的專案blog。如果想要讓建立的專案也是指定版本的,可:

rails _5.1.3_ new blog

Windows安裝Ruby和Rails

下載Windows下的Ruby安裝包:https://rubyinstaller.org/downloads/

要下載with-devkit的。例如:

https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.6.6-1/rubyinstaller-devkit-2.6.6-1-x64.exe

下載OK後,雙擊安裝,一路點下一步:

最後安裝ruby所需的包:

安裝完成後,開啟cmd或powershell:更改中國gem映象倉庫。

gem sources --remove https://rubygems.org/ --add https://gems.ruby-china.com/

安裝rails或其它gem:

gem install rails
gem install mysql2

更多關於安裝Ruby安裝Rails詳細步驟請檢視下面的相關連結


IT145.com E-mail:sddin#qq.com