Ruby 低成本 Rails 学习环境搭建方案

a112121788 · 2021年11月30日 · 最后由 nuanshuidai 回复于 2022年01月07日 · 1014 次阅读

做过 Rails 开发的程序员都知道,Rails 最佳开发环境是 macOS 、Ubuntu 等类 Unix 系统。通常不建议新手在 Windows 系统上搞。

Ruby 在 Windows 原生系统的表现这么多年过去了还是差强人意。这无疑阻挡了很多 Rails 初学者。特别是当初学者,很容易搜索到这篇文章 新人千万不要在 Windows 上使用 Ruby on Rails

随着 Windows 系统的升级,从 Windows 10 开始,我们可以通过 WSL + Ubuntu 的形式在 Windows 系统上玩转 Rails 开发了,不过这里的 Windows 系统意义不大,主要还是使用的 Ubuntu 等 Linux 系统。对于很多 Rails 初学者来说,可能既不熟悉 WSL ,又不会使用 Ubuntu 等。

不会只是时间问题。需要时间和方法。

Windows Ruby

虽然 Windows Ruby 不适合 Rails 开发,但是适合 Ruby 基础语法的学习。可通过 https://rubyinstaller.cn/ 下载和安装 Windows Ruby。

同时建议选择 VS Code 这款代码编辑器,注意是 VS Code, 不是 VS,这是两个不同的东西。

本地 Rails 学习环境 VS 云端 Rails 学习环境

如果你使用的是 macOS 系统,Ubuntu 系统,或者 Windows 10 系统,可以很方便地搭建顺滑的 Rails 学习环境。

但是如果你使用的 Windows 7 系统,或者 Windows 10 家庭版,就很难搭建一个比较顺滑的 Rails 学习环境了,由于 Rails 在国内相对来说比较小众,很多初学者不愿意加大投资,比如换个 MBP 等。

我也在想如何能降低硬件条件不佳的初学者的入学门槛,在服务器中运行一个 Web 版 VS Code 是个不错的方案,之前自己也尝试过。不过由于我本地环境用的很顺滑,短暂使用了一段时间就放弃了。不过对于硬件条件不佳的 Rails 初学者来说,这是个不错的方案。

下面简单介绍下云端 Rails 学习环境搭建流程

第一步: 购买云服务

虽然 2 核 2G 就够了,考虑到后续可能在上面还要跑 Rails 项目,建议 2 核 4G。现在很多云服务厂商对新手都有优惠活动,成本也就在 200 元左右。

操作系统建议安装 Ubuntu.

第二步 安装 VS Code Web 版

VS Code 源码是内置 Web 版的,但是并未提供便捷的安装指令,我推荐使用 code-server,code-server 可以在服务器上安装 Web 版 VS Code。安装成功以后就可以在浏览器中使用 VS Code 了,使用体验肯定不及本地 VS Code,但是至少可以有一个相对顺滑的 Rails 学习环境了。

如下图所示:

第三步 安装 Ruby 和 Node

bash -c "$(curl -fsSL https://gitee.com/RubyKids/rbenv-cn/raw/master/install.sh)"
git clone git://github.com/AndorChen/rbenv-china-mirror.git ~/.rbenv/plugins/rbenv-china-mirror

rbenv install 2.7.4
apt install sqlite3 libsqlite3-dev

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

nvm install 14

gem install rails:5.2.6
# or
gem install rails --pre

注:现在学 Rails,就不要学 Rails6 了,建议学从 5.2.6 或 7.0.0.alpha2 学。

总结

云 IDE 的模式,其实还是有一定的门槛的,比如需要修改 code-server 的服务的配置文件,不然即使开放了端口也无法访问,还有就是启动 Rails 项目时, 需要添加 -b 0.0.0.0 参数,不过都是小问题。

虽然很多人不看好 Rails,但是我依然认为 Rails 是一门不错的技术,学习 Rails 不只要学习 Ruby 和 Rails,还有很多技能要学,比如

  1. Git
  2. Markdown
  3. SQLite
  4. MySQL
  5. Redis
  6. MongoDB
  7. Nginx
  8. Linux
  9. Docker
  10. Kubernetes
  11. 算法
  12. ......

虽然市面上你很少看到 40K 左右的 Rails 程序员,是以为当你能达到 40k 左右,早已不仅仅做技术了,管团队、定战略早已称为你新的技能了,早已摆脱了 Rails 这一个单纯的标签了。

小广告: Rails 后端开发训练营持续招生,机会留给愿意想改变(升值、加薪、转行、改善家人生活)的人。

那还是 WSL 比较好,相对来说免费,新人买一台服务器做练习太不划算。

之前有个 WSL 下 Rails 开发的帖子 https://ruby-china.org/topics/38499

新购买一台服务器的话,不受地点和电脑限制,还是可行的。

500 块某鱼买个笔记本装个 ubuntu

Rei 回复

win7 用不了 wsl。服务器还好了,买 3 个月左右就够了,就算原价也就不到 200 块左右,不过这是个妥协的方案。

注:现在学 Rails,就不要学 Rails6 了,建议学从 5.2.6 或 7.0.0.alpha2 学。

我想应该有人会和我一样,问一下,为什么?

flyweights 回复

可能是 webpacker 要被移除了吧

不想买 mac,也不升级 win10 的话,装虚拟机也可以吧

装虚拟机使劲造吧

adamshen 回复

考虑下配置差的电脑

qichunren 回复

使用体验不够顺滑

flyweights 回复

webpacker 没啥问题,可以学 Rails 6 稳定版本,webpacker 固然有坑,但是新的 bundler-css/js 坑一样多,而且有些不容易查到解法。。。

啥?你前端能自己搞定?那你肯定已经不用学 Rails 了,我现在 80% 时间都在搞前端。。。

这些选项本身就非常容易让新手歧路亡羊,如果是教学,建议直接只给一个选项,彻底把 “或” 的路给堵上,优先上车。至于优劣的选择可以让初学者安全上车后,自己回头再折腾没有多少路的。主厨精选,本来就是 rails 的哲学之一。

现在学 rails 的成本真的很高。 如果我现在学,也许永远不会入门。好在我学的时候是 rails4

vagrant 貌似也不错,不过我当初学习的时候用的还是虚拟机,WSL 呢其实也有些坑,尤其是是大小写容易出毛病,如果你在 windows 里面新建文件,又在 WSL 里面进行编辑,可能有一些奇异的现象。最终还是发现虚拟机 99% 的模拟了线上的环境,是最免费、不折腾的入门环境!神级编辑器 VS Code 还支持直接编辑服务器中的文件,很香啊。

dayudodo 回复

win10 都好说,win7 下测试了下连接报错

惊! 还有培训 Rails 的机构

不用惊,供小于求。

写 rails 依赖买云服务 被惊到了

直接搞个免费的 云 IDE 就行了吧,以前国外的 cloud9 ,国内现在也有吧。

tablecell 回复

请看前提条件,还有初学者的云服务运维能力不合格,大部分开发者的云服务运维能力都不合格

alex_marmot 回复

目的之二是提升云服务运维能力。免费的云 IDE 确实很多

搞开发的装个 Ubuntu 双系统很难吗?买这买那的难度不比装个 Ubuntu 大的多吗?不知怎想的。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号