如何排除mac osx上本地php和RoR开发环境的故障?RoR站点不能正常工作


How do I troubleshoot local php and RoR dev environments on mac osx? RoR sites are not working

我遇到了一些问题,让我的本地php和rails开发环境在OSX 10.7上很好地相互配合。

开发是一种爱好,我完全是个新手。我使用MAMP进行PHP开发。几个月前,我决定尝试一下RoR,并使用Passenger建立了一个开发环境。

几个星期前,当我发现我无法访问MAMP网站时,我重新安装了MAMP。

现在我无法访问RoR站点。我试过重新安装乘客。我仍然会得到错误"哎呀!当我输入本地URL时,谷歌浏览器无法找到"app.local"。如果我导航到localhost,我得到一个"It Works!"页面,说明正在提供服务。

我用Pow做过实验。服务器似乎工作,如果我导航到本地主机,但当我去应用程序,我得到一个rake没有发现错误。奇怪,因为所有的宝石都在乘客手下工作。

我有三个问题。

1)我如何对我的设置进行故障排除以找出出错的地方?我猜这是Apache服务器的问题(尽管我可能是非常错误的)。我应该在哪里寻找日志文件来帮助解决这个问题?

2)设置本地开发环境的最佳方法是什么,以便我可以轻松地在RoR和PHP之间切换?(我知道虚拟化是一种选择,但我宁愿不走这条路,除非有很好的理由)。

3)谁能推荐一个好的指南或信息来源,为初学者设置开发环境?我在网上读了很多不同的东西,但需要更好地掌握基础知识-即,了解gem文件等正在安装的位置,正确使用bash文件,macports vs homebrew, passenger vs pow等。

感谢你花时间帮助一个失意的初学者。

安迪

好吧,我来回答我自己的问题。我已经让rails应用程序在本地运行,但我仍然不相信我完全理解发生了什么。

这就是我所做的。

卸载乘客

gem uninstall passenger

在系统首选项中右键卸载Passenger prepane。

更新了所有的系统宝石

gem update --system

cd到app目录并更新所有app gems

bundle update
乘客

重新安装

gem install passenger
passenger-install-apache2-module

使用xcodebuild重新编译OSX 10.7的Passenger prepane并安装。

删除和读取应用程序到乘客面板。

我不确定是什么修复了它,但应用程序现在正在运行。我认为事情是这样的。不知何故,Passenger和Apache之间的配置已经损坏,重新安装prepane将正确的行添加回Apache配置文件中。

问题是我仍然不知道Apache install Passenger使用的是mac default, macports还是MAMP。我想这就是我之前困惑的地方,因为我检查的配置文件不是正确的。

作为副产品,我了解到我的一些宝石不是最新的或者缺少依赖项。这也许可以解释我在《战俘》中遇到的困难。如果是这样的话,Pow似乎是比Passenger更容易的选择。

所以,一切都开始运行了,但是在我理解所有这些配置文件是如何工作之前,我还有很长的路要走。我仍然不认为我正在使用我更喜欢使用的Apache安装!

编辑

PS: MAMP仍然为PHP开发工作,我可以通过在系统首选项中禁用web共享来轻松地在两者之间切换,并启动MAMP。所以现在所有的问题都解决了!