rbenv
rbenv 是ruby的版本管理工具。
使用版本控制工具的好出:
如果直接安装ruby
,一次只安装一个版本,那如果我们要跑一个高版本或低版本的应用程序就很不方便。使用版本控制工具,用命令行任何时候都可以改变ruby的版本。切换版本十分简单方便。并且在团队开发过程中,在一个特定的文件中指定一次,整个团队的开发都保持统一,不用再为应用程序跑在不同的ruby版本上而头疼。
管理版本的原理:
rbenv通过在PATH
中注入shim
这个可执行文件来截取ruby命令。确定当前指定了哪个ruby版本,然后在将命令传给正确的版本安装。
安装rbenv前:
安装rbenv后:
安装rbenv:
在安装rbenv之前应该注意不能安装rvm,因为这两个是不相容的。如果安装了必须先卸载rvm,然后才能安装rbenv
- 从git上将rbenv checkout 下来到 ~/.rbenv:
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
也可以执行下面这个命令加速rbenv,如果失败不会影响rbenv正常工作:
cd ~/.rbenv && src/configure && make -C src
- 执行下面命令,将rbenv添加到环境变量当中:
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.重新打开一个终端,或者直接运行下面这个命令:目的是让环境变量立即生效不需要重新打开终端:
source ~/.bash_profile
(ubuntu下用)source ~/.bashrc
(zsh下用)source ~/.zshrc
5.检查你的rbenv是否安装好了:
type rbenv
出现如下图所示就说明安装成功。
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
执行下面命令:
rbenv install -l
选择要安装的ruby版本:
rbenv install 2.5.0-dev
如果要卸载某个ruby版本执行命令:
rbenv uninstall 2.5.0-dev
用rbenv管理你的ruby
rbenv versions #查看当前有哪些ruby版本
rbenv version #查看当前使用的ruby版本
rbenv global 2.5.0-dev #设置全局ruby执行版本
rbenv global system #使用系统原有的ruby版本
rbenv local 2.5.0-dev #设置本地ruby执行版本
rbenv local --unset #取消本地ruby执行版本
rbenv shell 2.5.0-dev #设置当前终端ruby执行版本,这个只在当前终端有效,新开启一个终端不会生效
rbenv shell --unset #取消当前终端ruby执行版本
在每次安装新的ruby版本后,要执行下面这个命令,不然会出错。
rbenv rehash
安装rails
首先介绍一下,Gem是封装起来的Ruby
应用程序或代码库。每个gem
都有一个名称,版本和平台。 例如,rake gem
具有0.8.7版本(从2009年5月开始)。 Rake
的平台是ruby,这意味着它可以在Ruby运行的任何平台上运行。
Rails
是一个使用Ruby语言写的Web应用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使用最少的配置。Rails
用gem
来安装管理。
执行下面命令安装rails
:
gem install bundler rails
检查是否安装成功:
安装过程中遇到的问题以及解决方案:
https://github.com/rbenv/ruby-build/issues/907
https://github.com/rbenv/rbenv/issues/847