安装Apache Passenger,找不到Ruby开发头文件

5

我有一个需要在Apache上托管的RoR应用程序,因此我一直在尝试安装Apache Passenger。当我运行以下命令时:

sudo passenger-install-apache2-module

I get:

Checking for required software...

 * GNU C++ compiler... found at /usr/bin/g++
 * Curl development headers with SSL support... found
 * OpenSSL development headers... found
 * Zlib development headers... found
 * Ruby development headers... not found
 * OpenSSL support for Ruby... found
 * RubyGems... found
 * Rake... found at /usr/local/bin/rake
 * rack... found
 * Apache 2... found at /usr/sbin/apache2
 * Apache 2 development headers... found at /usr/bin/apxs2
 * Apache Portable Runtime (APR) development headers... found at /usr/bin/apr-1-config
 * Apache Portable Runtime Utility (APU) development headers... found at /usr/bin/apu-1-config

所以它要求我运行以下命令:

sudo apt-get install ruby1.8-dev

我已经完成了以下操作,并得到了以下结果:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
ruby1.8-dev is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 40 not upgraded.

所以当我运行以下命令时:
sudo passenger-install-apache2-module

我得到的结果要求我运行相同的命令:
sudo apt-get install ruby1.8-dev

1
你可以尝试使用更高版本的Ruby吗?或者使用RVM进行安装? - simonmorley
你下载了哪个企业版Ruby的版本?我猜你在使用一些基于Debian的Linux发行版:Ubuntu?Mint?请澄清一下 - 我会在虚拟机中尝试所有这些。我正在运行Ubuntu、Mint和Ubuntu服务器 - 从未在安装Passenger时遇到任何问题... - Alex Kovshovik
5个回答

13
如果和我一样,你正在运行apt软件包ruby1.9.1而不是1.8,那么请安装ruby1.9.1-dev。
sudo apt-get install ruby1.9.1-dev

这对我有用。希望能帮到你。


2
在安装缺失头文件之后,回到开始并重新编译passenger:
gem install passenger

2
尝试卸载ruby1.9并安装ruby1.8,然后重新安装passenger gem。这对我有用。

1

首先安装软件包:

  • for Ubuntu:

    sudo apt-get install libcurl4-gnutls-dev
    sudo apt-get install apache2-dev
    
  • for CentOS (good tutorial):

    yum install curl-devel apache2-devel 
    
安装 gem 后:
gem install passenger

并成功地配置它:
sudo passenger-install-apache2-module

0

我发现,在安装某些Passenger要求之后,你需要先注销当前用户,然后重新登录,才能让passenger-install-apache2-module识别到更改的配置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接