Ruby on rails 带Guard/Livereload的windows上的Rails开发
我在一台个人电脑上从事Rails开发,因为公司生活需要Windows和安全性 我目前的设置是Ubuntu 14.04,在VM上作为我的开发环境,我通过浏览器在Windows上进行测试。随着我的代码库的扩展和我的新手能力的提高,我越来越关注像guard livereload这样的生产力提升者。除了设置速度慢得令人痛苦之外,在我花几个小时调试这个糟糕的安排之前,我想先问问专家 是否有可能让guard livereload和其他生产力增强程序通过VM来宾->windows主机连接工作?有没有更快/更被接受的方法 昨晚我在我的个人OSX计算机上克隆了我的项目,有人提醒我为什么要在OSX上亲自开发——我正在寻找一些能提高我自己士气的生产力提振器Ruby on rails 带Guard/Livereload的windows上的Rails开发,ruby-on-rails,windows,macos,virtual-machine,Ruby On Rails,Windows,Macos,Virtual Machine,我在一台个人电脑上从事Rails开发,因为公司生活需要Windows和安全性 我目前的设置是Ubuntu 14.04,在VM上作为我的开发环境,我通过浏览器在Windows上进行测试。随着我的代码库的扩展和我的新手能力的提高,我越来越关注像guard livereload这样的生产力提升者。除了设置速度慢得令人痛苦之外,在我花几个小时调试这个糟糕的安排之前,我想先问问专家 是否有可能让guard livereload和其他生产力增强程序通过VM来宾->windows主机连接工作?有没有更快/更被
说清楚,我不是在问“什么是最好的”。我在问will guard livereload和其他类似的助手gems是否可以跨VM工作,是否有比VM guest到windows 7主机更好的windows开发设置。这就是我的工作环境,没有理由不起作用 Guard/Livereload在连接到虚拟机的浏览器上运行良好,您只需确保广播,以便您的Windows计算机可以看到它。因此,当运行普通的旧rails服务器时,应该是:
rails s -b 0.0.0.0
如果没有-b0.0.0.0
,您的windows计算机将无法连接。这是rails最新版本(我认为是4.2.0)中的一项安全改进,同样,您可以将其放入保护文件中
guard 'rails', server: :thin, host: '0.0.0.0' do
watch('Gemfile.lock')
watch(%r{^(config|lib)/.*})
end
如果您在虚拟机上使用编辑器以及在虚拟机上运行的服务器,请确保您在非samba共享上运行(Guard/watch等在windows文件系统上放得不好)
就livereload而言,我已经让它直接工作了,它使用WebSocket,所以如果您没有网络限制,这应该可以
另一种方法是将虚拟机用作纯开发设备,完全忽略windows,只需使用虚拟机中的浏览器进行测试,就像使用mac一样 我不是100%确定这一点,但LiveReload使用WebSocket通知侦听器在文件系统更改时重新加载页面,因此浏览器和服务器是否位于不同的(虚拟)计算机上,甚至是否在网络上都无关紧要。也许这是我的问题?我使用的是samba share b/c,我的编辑器在windows中非常出色。只是以你的例子(使用puma)…但是chrome livereload无法连接。我是否需要确保VM端口已打开?很可能是。不管怎样,您都可以使用强制轮询选项启动guard
bundle exec guard-p
。是的,应该打开端口。你不应该需要更新版本的live reloadAwesome的Chrome扩展…我可以看到我的更改正在被guard识别。视图更改显示在我的终端中重新加载浏览器,但chrome没有重新加载。我还必须运行guard-p
,让guard识别更改+1.谢谢你的帮助。