Ruby on rails Mavericks升级后MacOSX上缺少Apache httpd.h文件(**为Yosemite更新**)
我正在尝试运行Ruby on rails Mavericks升级后MacOSX上缺少Apache httpd.h文件(**为Yosemite更新**),ruby-on-rails,macos,apache,passenger,Ruby On Rails,Macos,Apache,Passenger,我正在尝试运行passenger-install-apache2-module命令,但一直出现以下错误: ext/apache2/mod_passenger.c:25:10:致命错误:“httpd.h”文件未找到 不知道发生了什么,我的本地开发环境很好,直到我升级到Mavericks——我必须更新XCode并卸载/重新安装这个gem 我尝试在/etc/apache2目录中创建httpd.h,然后粘贴进去,但没有成功 我不知道如何替换此文件我遇到了相同的错误。您需要: 更新/安装xcode。 从命
passenger-install-apache2-module
命令,但一直出现以下错误:
ext/apache2/mod_passenger.c:25:10:致命错误:“httpd.h”文件未找到
不知道发生了什么,我的本地开发环境很好,直到我升级到Mavericks——我必须更新XCode并卸载/重新安装这个gem
我尝试在/etc/apache2
目录中创建httpd.h
,然后粘贴进去,但没有成功
我不知道如何替换此文件我遇到了相同的错误。您需要:
更新/安装xcode。
xcode选择--install
,以重新安装命令行工具Include/private/etc/apache2/extra/httpd vhosts.conf
所以,一旦我取消注释,它就正常加载了
**约塞米蒂更新**
在/etc/apache2/httpd.conf文件中,您需要更改:
不允许超限
要求全部拒绝
致:
不允许超限
要求所有授权
在mavericks升级过程中,几个配置文件被保存为先前版本,并由安装文件替换,包括:
/etc/apache2/httpd.conf~previous
/etc/group~previous
/etc/php.ini.default-5.2-previous
/etc/sshd_config~previous
/etc/syslog.conf~previous
另一个相关的问题是关于/usr/share/httpd/build/config_vars.mk,您可以看到cc的设置不正确,cc应该是cc=/usr/bin/cc,同样,CPP应该是cc=/usr/bin/cc-Ehttpd.h应该在/usr/include/apache2中。我还不确定到底发生了什么,也许苹果的更新过程破坏了什么。需要进行更多的调查。也许你可以联系苹果?完全相同的情况,完全相同的问题。你不能只是复制粘贴一个随机的httpd.h。内容必须与您实际运行的Apache版本完全匹配。谢谢@Hongli,我打算尝试将文件放在那里,看看它是否有效,但我的机器上似乎根本不存在/usr/include
,不管/usr/include/apache2
谢谢@Sean,现在下载命令行工具,但这是我在安装Mavericks后下载更新后在XCode中检查的第一件事,将报告结果。Phusion Passenger安装成功,只是将这些行添加到我的Apache配置中,但我的localhost仍然只是说It works代码>所以只需要修复它。谢谢你的帮助。我有这个问题是因为我使用了一个vhosts文件,我的httpd.conf注释掉了它。我只需要取消注释。谢谢,我没有使用任何vhost,rails应用程序只是在我桌面上的一个目录中,我通过localhost
访问它,并通过svn更新实时站点,不记得我第一次安装Railsupdate时在这个阶段做了什么:如果我转到localhost:3000
就可以了,但是在localhost
上正常运行之前,apache正在监听端口80(选中httpd.conf),所以不确定发生了什么。。。。只是停止了apache,这没有什么区别,奇怪的事情正在发生!