Rails 在 windows 上开发 Guard/Livereload

Rails dev on windows with Guard/Livereload

我在 PC 上工作 Rails 开发,因为公司生活需要 Windows 和安全。

我当前的设置是 Ubuntu VM 上的 14.04 作为我的开发环境,我通过浏览器在 Windows 上进行测试。随着我的代码库的扩展和我的新手能力的提高,我正在更多地关注像 guard-livereload 这样的生产力助推器。除了这个设置非常慢之外,我想在花几个小时调试这个糟糕的安排之前先问问专家。

是否可以让 guard-livereload 和其他生产力增强器在 VM guest->windows 主机连接上工作?是否有 faster/more 可接受的方法来执行此操作?

我昨晚在我的个人 OSX 计算机上克隆了我的项目,并提醒我为什么要在 OSX 上进行个人开发——我正在寻找一些生产力提升剂来提高我自己的士气。

明确地说,我不是在问 "what's best"。我问 guard-livereload 和其他类似的辅助 gems 是否可以跨 VM 工作,并且是否有 更好的 windows 开发设置VM 来宾到 windows 7 主机。

这正是我的工作环境,没有理由不适用。

Guard/Livereload 在连接到 VM 的浏览器上工作正常,您只需确保广播以便您的 Windows machine 可以看到它。所以当 运行 普通旧 rails 服务器时,那将是:

rails s -b 0.0.0.0

如果没有 -b 0.0.0.0,您的 windows machine 将无法连接。这是最近版本 rails(我认为是 4.2.0)的一项安全改进。同样,您可以将其放入 Guard 文件中。

guard 'rails', server: :thin, host: '0.0.0.0' do     
  watch('Gemfile.lock')     
  watch(%r{^(config|lib)/.*})    
end     

如果您在 VM 和服务器 运行 上使用编辑器,请确保您 运行 在非 samba 共享(Guard/watch 等不要很好地放在 windows 文件系统上)。

就 livereload 而言 - 我已经让它开箱即用,它使用 websockets 所以只要你没有网络限制,这应该没问题。

另一种方法是将 VM 用作纯开发箱并完全忽略 windows,只需使用 VM 中的浏览器进行测试,就像使用 mac 一样。