Homeland 搭建 Ruby China 开发环境 (Vagrant)

Rei for Ruby China · 发布于 2015年10月15日 · 最后由 gaolei14 回复于 2017年03月02日 · 2802 次阅读
1

https://github.com/ruby-china/ruby-china

为了方便大家参与 Ruby China 开发,刚刚给项目添加了 Vagrant 配置。现在可以用 Vagrant 搭建开发环境,步骤如下:

安装 VirtualBox:

https://www.virtualbox.org/

安装 Vagrant:

https://www.vagrantup.com/

然后:

$ vagrant up
$ vagrant ssh
$ cd /vagrant
/vagrant $ ./bin/setup
/vagrant $ rails s -b 0.0.0.0

在浏览器打开 http://localhost:3000

PS:第一次运行 vagrant up 会下载系统镜像和安装系统依赖,根据网速不同可能要半小时以上。

共收到 25 条回复
De6df3

那个镜像有没有可能修改掉,这样可以放到速度快的国内服务器上面

1

#1楼 @huacnlee 其实把安装好的镜像重新打包都行,但是我觉得从官方源下载然后安装比较安全和透明。

De6df3

另外,如果要做得更好,可以用 seed_fu 准备一些默认数据,这样能让新跑起来就有数据,而不是像现在这样空的。

1

#3楼 @huacnlee 不用 gem 吧,在 db/seeds.rb 里面用 ActiveRecord 行了。

96

看到这个ubuntu/precise64,有考虑过升级到 14.04 吗?毕竟已经发布一年多了。

21338

今天试一试,这样方便多了

15

#1楼 @huacnlee #2楼 @rei

个人也觉得能做一个安装好所有依赖且开箱即用的 image 直接 挂 vagrant 放国内服务器上比较好。或者可以搞个选项,那个 ubuntu 国内网络首次安装却是比较恼火...

24205

不好意思,我在執行這個步驟的時候出現這個問題?

vagrant@ruby-china-dev:/vagrant/bin$ ruby setup
setup:11: odd number list for Hash
    red: 31,
        ^
setup:11: syntax error, unexpected ':', expecting '}'
    red: 31,
        ^

我用vim開代碼看還是不知道問題出在哪裡?

請大大開示~ m( _ _ )m

9楼 已删除
20697
vagrant@ruby-china-dev:/vagrant$ rails s -b 0.0.0.0
=> Booting Puma
=> Rails 5.0.0.beta3 application starting in development on http://0.0.0.0:3000
=> Run `rails server -h` for more startup options
=> Ctrl-C to shutdown server
=> Memory usage: 156.73 MB
[24430] Puma starting in cluster mode...
[24430] * Version 3.0.2 (ruby 2.3.0-p0), codename: Plethora of Penguin Pinatas
[24430] * Min threads: 8, max threads: 16
[24430] * Environment: development
[24430] * Process workers: 4
[24430] * Preloading application
[24430] * Listening on tcp://0.0.0.0:3000
[24430] * Daemonizing...
Exiting
Exiting
/home/vagrant/.rvm/gems/ruby-2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:362:in `delete': No such file or directory @ unlink_internal - /vagrant/tmp/pids/server.pid (Errno::ENOENT)
    from /home/vagrant/.rvm/gems/ruby-2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:362:in `block in write_pid'

这是为啥,rack已装

1

#10楼 @way_von

$ mkdir -p /vagrant/tmp/pids/

之后再试试启动。

20697

#11楼 @rei

/home/vagrant/.rvm/gems/ruby-2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:362:in `delete': No such file or directory @ unlink_internal - /vagrant/tmp/pids/server.pid (Errno::ENOENT)
    from /home/vagrant/.rvm/gems/ruby-2.3.0/gems/rack-2.0.0.alpha/lib/rack/server.rb:362:in `block in write_pid'
vagrant@ruby-china-dev:/vagrant$ cd tmp/pids
vagrant@ruby-china-dev:/vagrant/tmp/pids$ ls
vagrant@ruby-china-dev:/vagrant/tmp/pids$ 

下面没有server.pid

1

#12楼 @way_von server.pid 是 server 启动后生成的,这个我也不知道什么情况。

1

#12楼 @way_von 配置里写的是 tmp/pids/puma.pid 啊,你用的是最新的代码吗?

20697

#14楼 @rei 今早下的代码

puma.rb部分代码如下

app_root = '/home/ruby/www/ruby-china/current'
pidfile "#{app_root}/tmp/pids/puma.pid"
state_path "#{app_root}/tmp/pids/puma.state"
bind "unix:/tmp/unicorn.ruby-china.sock"
1

@huacnlee 现在开发环境是怎么启动的?我移除 config/puma.rb 后就能启动。

20697

#16楼 @rei 和rails版本有关系么

1

#17楼 @way_von 应该和 puma 3.0 有关。

20697

#18楼 @rei 开发环境rails s启动之后出了两个Exiting就结束了,如果把config/puma.rb删掉再启动,localhost能看到报错页面

3681

#8楼 @origin10 我也遇到这个问题。

3681

赞同放到国内。翻墙到国外去下实在费流量。

3681

不知道最新版的vagrant box镜像是否是打包好了所有安装组建的。

96

现在homeland的vagrant还维护么?从github上下载最新的代码,使用vagrant up,./bin/setup 后在db:seed 的时候出现异常

NoMethodError: undefined method match?' for "section_node_updated_at=":String /vagrant/app/models/cache_version.rb:14:inrescue in method_missing' /vagrant/app/models/cache_version.rb:11:in method_missing' /vagrant/app/models/section.rb:15:inupdate_cache_version' /var/lib/gems/2.3.0/gems/activesupport-5.0.1/lib/active_support/callbacks.rb:382:in block in make_lambda' /var/lib/gems/2.3.0/gems/activesupport-5.0.1/lib/active_support/callbacks.rb:207:inblock in halting_and_conditional' /var/lib/gems/2.3.0/gems/activesupport-5.0.1/lib/active_support/callbacks.rb:456:in `block in call'

1
32gaolei14 回复

不维护了,建议用 docker ,我晚上再清理代码。

96
1Rei 回复

homeland的开发环境搭建有说明流程么?在github上没有找到说明

96
32gaolei14 回复

解决,使用ruby2.4

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