搭建 Ruby 运行环境【Rails后端开发训练营】

Ruby 是一门支持多平台的编程语言,Windows、macOS 和 Linux 系统的用户都可以自由地使用 Ruby。但是安装的方法和复杂度不尽相同。

如果想使用 Ruby 进行 Web 后端开发,我建议你使用 macOS 系统或 linux 系统安装和学习 Ruby。如果你只有 Windows 系统,我建议你把系统升级到 Windows 10,通过 WSL 安装 Ubuntu 系统,并使用 Ubuntu 18.04,来安装 Ruby。在笔者的工作经验中,没有人在 Windows 系统下从事 Ruby 开发,特别是 Ruby Web 开发。

如果你目前使用的是 Windows 系统,并且由于客观原因无法升级到 Windows 10, 也可以通过 https://rubyinstaller.cn
安装社区维护的 Windows Ruby 安装包。Windows Ruby 可以进行一些简单的 Ruby 脚本开发,
但是不适合进行 Web 后端开发。 如果你确实没有办法打造 Linux 或 macOS 开发环境,可以先使用 Windows Ruby 学习 Ruby。

这里讲分享一个小故事,2019 年,由于我所在的团队需要扩大规模,需要招聘 Ruby 初级开发工程师,但是市面上很少 Ruby 初级开发工程师。如果有其他编程语言经验,并且接受换编程语言,我们也乐于接受。为了提高筛选效率,笔者留了个面试前的实践题,即参考 Rails Guide 快速上手建立一个 Rails 博客 Demo 网站。结果大部分人都通不过,发现是卡在了系统上,我自己也尝试,几乎很难在 Windows 系统上搭建 Rails 开发境。后面我也做了多次尝试,做一些 Demo 级的 Rails 开发尝试还是可以的,但是在实际工作中没人能够接受。

目前我接触到的 Ruby 工程师主要的开发环境有:

  1. macOS
  2. Ubuntu
  3. Windows + WSL + Ubuntu

你可以根据自己当下的情况,选择合适的环境,然后再安装 Ruby。学习 Ruby 程序开发,需要理论与实践结合,边看课程边练习。我希望你学习完本讲之后,你在你的电脑成功安装一个可用的 Ruby 解释器。

1 在 macOS 和 linux 上使用 rbenv 安装 Ruby

在真实的 Ruby 开发实践中,通常要同时开发多个基于 Ruby 的项目,每个项目使用的 Ruby 版本不尽相同不同,很难统一 Ruby 版本,我们就需要想办法在同一个操作系统上安装多个 Ruby 版本。目前有两个流行的 Ruby 版本管理工具:rbenv 和 rvm。掌握其中一个即可。我个人比较喜欢使用 rbenv。

由于安装 rbenv 的过程中需要访问 github.com 网站,由于总所周知的语言,国内网络访问 github.com 并不稳定。虽然有些人可以直接访问外网,但是还是存在许多用户没有这个条件。

我们可以参考项目 rbenv-cn, 一键安装 rbenv。

一键安装 rbenv 的命令如下所示:

bash -c "$(curl -fsSL https://gitee.com/RubyKids/rbenv-cn/raw/master/install.sh)"

rbenv 一键安装命令会自动把下面的代码放到 ~/.bash_profile 里。Ubuntu 系统会放到 ~/.bashrc 里,zsh 用户则是 ~/.zshrc

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
export RUBY_BUILD_MIRROR_URL=https://cache.ruby-china.com

通过 rbenv 安装 ruby 解释器时,默认是从 ruby 的官方源下载 Ruby 源码。在国内下载国外网站的资源,有时候异常缓慢,为了不把有限的时间花费在无聊的等待中,我们可以使用如下命令加速 ruby 解释器的安装。

git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror

rbenv 也会持续更新,但是默认并不提供更新的功能,需要手动更新。我们可以使用如下命令安装 rbenv update 插件

git clone git://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update

安装上面安装命令,我们就安装好了 rbenv。如果 rbenv 安装成功,接下来使用 rbenv 安装 ruby 会更加方便。

2 rbenv 常用命令

安装 ruby

下面我们使用 rbenv 安装 2.7.4 版的 ruby。并且默认 Ruby 设置为 2.7.4

安装 ruby

rbenv install 2.7.4 

设置 ruby 2.7.4 为默认版本

rbenv global 2.7.4

查看当前 ruby 版本

(base) peng@peng-pc:~$ rbenv versions
ruby 2.7.4p191 (2021-07-07 revision a21a3b7d23) [x86_64-linux]

列出所有已安装的 ruby 版本

rbenv 也提供了很多命令用户管理本机安装的 Ruby 版本。比如我们可以使用 rbenv versions 参看本地已经安装的所有 Ruby 解释器。

(base) peng@peng-pc:~$ rbenv versions
  system
  2.6.8
* 2.7.4 (set by /home/peng/.rbenv/version)
  3.0.2

Windows 用户安装 Ruby

如果你使用的是 Windows 10 系统,你可以先安装 WSL ,在安装 Ubuntu 系统,然后再安装 rbenv。对于初学者来说,掌握这种安装方式比较苦难。

如果你不想使用 WSL,可以安装 Windows 版 Ruby。Ruby 官网并未提供直接安装 Windows 版本 Ruby 的方法,并把我们引导到了网站 https://rubyinstaller.org/downloads/ 但是下载速度非常慢,笔者建议从 https://rubyinstaller.cn/ 下载国内源。

下载地址示例

https://mirror.sjtu.edu.cn/github-release/oneclick/rubyinstaller2/releases/download/RubyInstaller-2.7.2-1/rubyinstaller-devkit-2.7.2-1-x64.exe

Windows 版的 Ruby,仅适合学习 Ruby,不适合生产环境,更不适合 Ruby Web 开发。Ruby Web 开发是 Ruby 主要使用的领域,所以不要在 Windows 下 尝试使用 Ruby 进行 Web 开发。

Ubuntu 服务端安装参考

对于 Ruby 后端开发者,很多时候还要在服务器端部署 Rails 项目。对于 Ubuntu 系统,你可以参考如下脚本在服务器中搭建 Rails 运行环境:

apt-get update -qq
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

apt-get update -yqq && apt-get install -y python3-pip libsqlite3-dev imagemagick mupdf-tools --fix-missing
apt-get install -y  gcc g++ make
curl -sL https://deb.nodesource.com/setup_14.x | bash - 
apt-get install -y nodejs

apt-get install -y git
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# 用来编译安装 ruby
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
# 通过 rbenv update 命令来更新 rbenv 以及所有插件,推荐
git clone git://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update
# 使用 Ruby China 的镜像安装 Ruby,国内用户推荐
git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc

apt-get install -y libssl-dev libreadline-dev zlib1g-dev && apt-get autoremove
. ~/.bashrc \
&& rbenv install 2.7.4 && rbenv global 2.7.4 
. ~/.bashrc && gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ \
&& gem install bundler:2.2.0

CentOS 服务端安装参考

很多开发者也会选择 CentOS 系统,你可以参考如下脚本在服务器中搭建 Rails 运行环境:

yum install -y git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel python3 mysql-devel && yum clean all
curl --silent --location https://rpm.nodesource.com/setup_14.x | bash - && yum install -y nodejs

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# 用来编译安装 ruby
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
# 通过 rbenv update 命令来更新 rbenv 以及所有插件,推荐
git clone git://github.com/rkh/rbenv-update.git ~/.rbenv/plugins/rbenv-update
# 使用 Ruby China 的镜像安装 Ruby,国内用户推荐
git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> /etc/profile
echo 'eval "$(rbenv init -)"' >> /etc/profile
source /etc/profile \
&& rbenv install 2.7.4 && rbenv global 2.7.4 \
&& gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/ \
&& gem install bundler:2.2.0

Docker 安装 Ruby(参考)

如果你能熟练使用 Docker,可以使用 Docker 安装 Ruby。如果你不熟悉 Docker,后续可以花点时间学习一下 Docker。

docker pull ruby:2.7.4

你可以选择自己最能驾驭的方法先开始学习 Ruby。比如当前你使用的是 macOS 系统,可以先使用系统自带的 Ruby 学习后续的内容。笔者建议使用 macOS 系统或 linux 系统(Ubuntu)来学习 Ruby。

你可能感兴趣的:(Rails,后端开发训练营,python,算法,ruby)