分享 Windows 下使 (zhē) 用 (téng) Rails 的正确姿势

pynix · 2016年06月17日 · 最后由 pynix 回复于 2016年12月21日 · 3353 次阅读

砍头不要紧,只要主义真。杀了夏明翰,还有后来人!

社区和群里源源不断的有人这 windows 下使用 ruby (on rails),每次出的问题基本都差不多,不是编码错误就是 native 库编译出错。

Mac 大法好!!!

Linux 大法好!!!

得到的回答基本是以上两派。

如果你实在没办法绕开,需要在 windows 下使用 ruby (on rails),试试我的做法。

抱歉我并没有解决你的问题,我知识不想再浪费时间在这些无聊的问题上,所以我选择虚拟机方案。

我的组合是这样的:

vagrant + ubuntu + putty + sublime text

动手之前先找一个稳定的梯子,你有很大的机会用到。

安装 vagrant 和 ubuntu

vagrant

下载安装,完成后在 cmd 敲入命令

vagrant

接下面 vagrant 会出现提示并自动下载并安装 virtualbox,如未能成功安装,请到自行下载安装。

virtualbox

接下来需要虚拟机镜像,也就是 box。

vagrant init ubuntu/xenial64

此命令会生成 Vagrantfile 配置文件

14.04 LTS (trusty) 或者 16.04 LTS (xenial) 自行选择

可能会很慢,请 copy 下 box 的地址自行下载,然后再手动导入。

vagrant box add ubuntu/xenial64 path/to/box

接着

vagrant up

如果机器没起来,你需要打开 virtulalbox 手动启动虚拟机,查看错误信息。

很有可能是因为 CPU 没有开启 VT 支持,请在 BIOS 中开启。

如果起来来了,你会照着网站上

vagrant ssh

然后并没有什么卵用,大概你没有安装 ssh 客户端。

安装 putty

putty

请下载 putty 和 puttygen,使用后者把 vagrant 工作目录 (即 Vagrantfile 所在的目录) 下的 ssh key 转化为 putty key,然后按照提示使用 putty 登陆。

接下来修改 ubuntu 源,推荐:

清华

默认的网络配置可以正常安装软件。

配置共享目录和端口映射

回到 windows,运行下面的命令安装 virtualbox 扩展,挂载目录需要扩展支持。

vagrant plugin install vbguest

此命令会安装必要的构建工具,内核头文件,和一个内核扩展模块。

完成后修改 Vagrantfile 中共享目录和端口映射相关的配置。比如

config.vm.synced_folder "../Project", "/home/ubuntu/Project" config.vm.network "forwarded_port", guest: 3000, host: 3000

然后重新加载配置文件:

vagrant reload

安装 ruby (on rails)

16.04 自带 ruby 2.3,当然也可以使用 rvm,rbenv 等安装。

安装 ruby-dev zlib-dev, libxml2-dev。

修改 gem 源,推荐本站。

安装 rails,生成项目。

或许你需要安装 nodejs 来作为 execjs 的执行环境。

rails 开发服务器需要监听 0.0.0.0 才能在 windows 里访问到。

rails s -b 0.0.0.0

安装一个顺手的编辑器。

sublime text

atom

其他还有 RM 之类的 IDE,都试试看。

直接在虚拟机的命令行下使用 vim 也是个不错的选择。

这不叫 Windows 下使用 Rails。 Ubuntu,说实话,是 Linux 的一种。

虽然标题和内容不符,不过这确实是在 windows 下面折腾 ruby, rails 最合适的方案了。

vagrant 里跑,win 下开发,妥妥的。 可以下个 ConEmu 之类的工具,ssh 连上去,那就再也不用管虚拟机啦

既然用 linux 先选选发行版吧

linux 下使用 qq 的正确姿势

1.安装 virtualbox

2.在 virtualbox 上安装 xp

3.在虚拟机里安装 qq

前段时间我在 win10 的 bash on windows 下成功运行了 rails 的项目,所以现在又多了一种选择。

我还是觉得有点标题党。说实话,把写好的项目丢进 Docker 里放 Windows 上跑就可以了。

你这个完全就跟 windows 没啥关系。正确的姿势是: 下载 mingw 的 ruby 安装, 然后安装 Devkit, 然后到 rubygems 网站下载新的 rubygems 安装 (因为默认的版本太低没法用). 接着如果 gem 安装不成功比如 bcrypt 等,请用 gem install --platform=ruby. 然后就没问题了,当然 win 下面的 ruby 速度是很慢的。因为不像 python,php 用 VC 编译。

#9 楼 @ilessr 好吧,标题档。。。

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