构建乘客apache2模块:没有要加载的文件——rubygems builder

构建乘客apache2模块:没有要加载的文件——rubygems builder,ruby,rubygems,apache2,passenger,Ruby,Rubygems,Apache2,Passenger,我想在debian服务器上构建passenger-3.0.19 apache2模块。以root用户身份调用passenger-install-apache2-module后,我收到以下错误消息: Compiling and installing Apache 2 module... cd /usr/lib/ruby/gems/1.8/gems/passenger-3.0.19 /usr/bin/ruby1.8 /usr/bin/rake apache2:clean apache2 RELEASE

我想在debian服务器上构建passenger-3.0.19 apache2模块。以root用户身份调用passenger-install-apache2-module后,我收到以下错误消息:

Compiling and installing Apache 2 module...
cd /usr/lib/ruby/gems/1.8/gems/passenger-3.0.19
/usr/bin/ruby1.8 /usr/bin/rake apache2:clean apache2 RELEASE=yes
# /usr/bin/ruby1.8 /usr/bin/rake apache2:clean apache2 RELEASE=yes
rake aborted!
no such file to load -- rubygems/builder
问题在哪里?我怎样才能解决这个问题?使用passenger-install-apache2-module——跟踪不起作用(对于完整堆栈跟踪)


几分钟前,我在这里回答了一个类似的问题:

这本质上是Ruby 2.0的一个问题。我提供了一个可能的解决方案(摘自github评论)


如果您没有使用Ruby 2.0,那么您可能需要执行以下操作:
gem install builder

我使用了git repository中最新的passenger版本(实际上是4.0.0.rc4),并创建了一个gem。使用这种宝石效果很好

git clone https://github.com/FooBarWidget/passenger.git
cd passenger
gem build passenger.gemspec
gem install passenger-*.gem

之后,您可以使用passenger-install-apache2-module构建apache2插件。

确保您获得了zlibc

sudo apt get安装zlibc zlib1g zlib1g dev


然后重新安装或重新编译ruby。

也有同样的问题。在Amazon Linux上,以下操作非常有效:

gem install passenger && passenger-install-apache2-module
运行“gem install passenger”将最新版本添加到系统中。也删除了旧的一个:

#gem list passenger

*** LOCAL GEMS ***
passenger (4.0.10, 3.0.19)

#gem uninstall passenger

Select gem to uninstall:
 1. passenger-3.0.19
 2. passenger-4.0.10
 3. All versions
> 1
Successfully uninstalled passenger-3.0.19

我有一个类似的环境(passenger 3.0.9,Ruby 1.8.7),我通过降级rubygems解决了这个问题

最新的稳定RVM将安装rubygems v(2+)。我降级到rubygems v(1.6.2),重新安装乘客gem,问题消失了

在RVM环境中,命令是
gem update--system 1.6.2


rubygems的1.8.x版本也可以工作,但它会在您所做的每件事上抛出太多的弃用警告。

如果您运行的是Ruby2

编辑文件config/ruber/ruber passenger.yml

换线

passenger_version: 3.0.19

请记住在中检查Ruby版本 config/rubber/rubber ruby.yml

ruby_version: 2.0.0-p247

我也有同样的问题。为了解决这个问题,我不得不降级rubygems包。我的配置是
passenger 3.0.2
rubygems 1.3.7

您使用的是Ruby 2.0吗?我使用的是debian repo的Ruby 1.8:Ruby 1.8.7(2010-08-16补丁级别302)[x86_64-linux]为什么使用1.8?它速度慢且缺乏功能我正在使用debian squeeze存储库中的ruby 1.8:ruby 1.8.7(2010-08-16 patchlevel 302)[x86_64-linux]-gem install builder没有help@whitenexx从Rubygems 2.x降级到更低版本应该可以解决Ruby 1.8上的问题。当我安装Apache、PHP、,使用其他路径从源代码处安装Ruby而不是手动克隆,您可以直接调用
gem install passenger--pre
来安装4.0.0.rc4。但是警告:“在RC 2发布中,我们只是声称我们在Ruby 2.0.0本身中遇到了很多bug(例如这一个),因此我们不建议使用Ruby 2.0.0。这些bug与Phusion Passenger无关。无论Ruby 2.0.0有什么bug,Phusion Passenger都支持Ruby 2.0.0。”来自乘客常见问题解答。
ruby_version: 2.0.0-p247