我遇到了一些问题,让我的本地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。所以现在所有的问题都解决了!