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

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

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 会下载系统镜像和安装系统依赖,根据网速不同可能要半小时以上。

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

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

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

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

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

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

#1 楼 @huacnlee #2 楼 @rei

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

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

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 楼 已删除
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 已装

#10 楼 @way_von

$ mkdir -p /vagrant/tmp/pids/

之后再试试启动。

#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

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

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

#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"

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

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

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

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

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

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

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

davidminaki ruby-chna 源代码本地安装后,注册新用户报错 提及了此话题。 06月15日 17:02

现在 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'

gaolei14 回复

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

Rei 回复

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

gaolei14 回复

解决,使用 ruby2.4

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