rbenv
rbenv 是ruby的版本管理工具。
使用版本控制工具的好出:
如果直接安裝ruby
来农,一次只安裝一個版本寒波,那如果我們要跑一個高版本或低版本的應(yīng)用程序就很不方便乘盼。使用版本控制工具,用命令行任何時候都可以改變ruby的版本俄烁。切換版本十分簡單方便绸栅。并且在團隊開發(fā)過程中,在一個特定的文件中指定一次页屠,整個團隊的開發(fā)都保持統(tǒng)一粹胯,不用再為應(yīng)用程序跑在不同的ruby版本上而頭疼。
管理版本的原理:
rbenv通過在PATH
中注入shim
這個可執(zhí)行文件來截取ruby命令辰企。確定當前指定了哪個ruby版本风纠,然后在將命令傳給正確的版本安裝。
安裝rbenv前:
安裝rbenv后:
安裝rbenv:
在安裝rbenv之前應(yīng)該注意不能安裝rvm牢贸,因為這兩個是不相容的竹观。如果安裝了必須先卸載rvm,然后才能安裝rbenv
- 從git上將rbenv checkout 下來到 ~/.rbenv:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
也可以執(zhí)行下面這個命令加速rbenv,如果失敗不會影響rbenv正常工作:
cd ~/.rbenv && src/configure && make -C src
- 執(zhí)行下面命令潜索,將rbenv添加到環(huán)境變量當中:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
(ubuntu下用)echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
(zsh下用)echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
3.初始化rbenv,使shim生效臭增。
echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
(ubuntu下用)echo 'eval "$(rbenv init -)"' >> ~/.bashrc
(zsh下用)echo 'eval "$(rbenv init -)"' >> ~/.zshrc
4.重新打開一個終端,或者直接運行下面這個命令:目的是讓環(huán)境變量立即生效不需要重新打開終端:
source ~/.bash_profile
(ubuntu下用)source ~/.bashrc
(zsh下用)source ~/.zshrc
5.檢查你的rbenv是否安裝好了:
type rbenv
出現(xiàn)如下圖所示就說明安裝成功竹习。
6.安裝ruby-build誊抛,它提供了ruby install 命令,可以十分簡便的安裝ruby版本由驹。
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
ruby安裝
安裝編譯ruby的依賴
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6 libreadline6-dev zlib1g zlib1g-dev
執(zhí)行下面命令:
rbenv install -l
選擇要安裝的ruby版本:
rbenv install 2.5.0-dev
如果要卸載某個ruby版本執(zhí)行命令:
rbenv uninstall 2.5.0-dev
用rbenv管理你的ruby
rbenv versions #查看當前有哪些ruby版本
rbenv version #查看當前使用的ruby版本
rbenv global 2.5.0-dev #設(shè)置全局ruby執(zhí)行版本
rbenv global system #使用系統(tǒng)原有的ruby版本
rbenv local 2.5.0-dev #設(shè)置本地ruby執(zhí)行版本
rbenv local --unset #取消本地ruby執(zhí)行版本
rbenv shell 2.5.0-dev #設(shè)置當前終端ruby執(zhí)行版本芍锚,這個只在當前終端有效,新開啟一個終端不會生效
rbenv shell --unset #取消當前終端ruby執(zhí)行版本
在每次安裝新的ruby版本后蔓榄,要執(zhí)行下面這個命令并炮,不然會出錯。
rbenv rehash
安裝rails
首先介紹一下甥郑,Gem是封裝起來的Ruby
應(yīng)用程序或代碼庫逃魄。每個gem
都有一個名稱,版本和平臺澜搅。 例如伍俘,rake gem
具有0.8.7版本(從2009年5月開始)。 Rake
的平臺是ruby勉躺,這意味著它可以在Ruby運行的任何平臺上運行癌瘾。
Rails
是一個使用Ruby語言寫的Web應(yīng)用框架,它是嚴格按照MVC結(jié)構(gòu)開發(fā)的饵溅。它努力使自身保持簡單妨退,來使實際的應(yīng)用開發(fā)時的代碼更少,使用最少的配置。Rails
用gem
來安裝管理咬荷。
執(zhí)行下面命令安裝rails
:
gem install bundler rails
檢查是否安裝成功:
安裝過程中遇到的問題以及解決方案:
https://github.com/rbenv/ruby-build/issues/907
https://github.com/rbenv/rbenv/issues/847