2012-02-17 80 views
5

我有一个需要在Apache上托管的RoR应用程序,所以我一直在尝试安装Apache Passenger。当我运行以下命令:安装Apache Passenger,未找到Ruby Development Header

sudo passenger-install-apache2-module 

我得到:

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

你能尝试红宝石更高版本?或者用rvm安装? – simonmorley 2012-03-02 11:40:27

+0

你下载了哪个版本的Enterprise Ruby?另外我假设你使用了一些基于Debian的Linux发行版:Ubuntu?薄荷?请澄清 - 我会尝试所有虚拟的。我正在运行Ubuntu和Mint和Ubuntu服务器 - 从来没有任何乘客安装问题.... – 2012-03-28 22:49:30

回答

0

我发现,你需要注销,然后重新登录到当前用户你已经经过一些乘客要求在passenger-install-apache2-module识别出已更改的配置之前安装它们。

2

安装缺少的头后,回到开始并重新编译乘客:

gem install passenger 
2

尝试卸载ruby1.9和安装ruby1.8的,而不是重新安装该乘客的宝石。这对我有效。

12

如果像我一样,你正在运行的apt软件包ruby1.9.1而不是1.8,然后安装ruby1.9.1-DEV代替

sudo apt-get install ruby1.9.1-dev 

这为我工作。希望能帮助到你。