12

我正在尝试使用 rvm 设置乘客。我不断收到此错误

您的 RVM 包装器脚本太旧了。请先运行“rvm update --head && rvm reload && rvm repair all”来更新它们。

我做了同样的问题

  • GNU C++ 编译器...位于 /usr/bin/g++
  • 具有 SSL 支持的 Curl 开发标头...找到
  • OpenSSL 开发头文件...找到
  • Zlib 开发头文件...找到
  • Ruby 开发头文件...找到
  • OpenSSL 对 Ruby 的支持...找到
  • RubyGems... 找到

您的 RVM 包装器脚本太旧了。

请先运行“rvm update --head && rvm reload && rvm repair all”来更新它们。

我正在使用 Fedora 14、Ruby 1.9.2、Rails 3.0.7 RVM 为多用户安装

当我执行“乘客启动”时,我也会收到此错误

无法执行'/home/antarr/.passenger/standalone/3.0.7-x86_64-ruby1.9.2-linux-gcc4.5.1-1002/support/helper-scripts/prespawn http://0.0.0.0:3000 ':权限拒绝 (13)

4

5 回答 5

37

我遇到了同样的问题,但发现使用 rvmsudo 命令有效。代替

sudo passenger-install-apache2-module

尝试使用:

rvmsudo passenger-install-apache2-module
于 2012-01-16T23:52:21.640 回答
1

看起来,Passenger 3.0.7 被较新版本的rvm. 如果GEM_HOME未设置环境变量,则会出现此错误。

正确的说明应该是首先使用您的特定版本:

rvm use 1.9.2

尽管我遇到了与您相同的错误,但之后它对我有用。

于 2011-05-24T19:45:13.323 回答
1

如果上述解决方案都不适合您并且您收到GEM_HOME警告

删除所有内容.rvmrc

rvm get head && rvm reload && rvm repair all

gem install passenger

passenger-install-apache2-module

将结束消息复制/粘贴到您的apache.conf

于 2012-12-03T19:42:45.737 回答
1

如果我尝试安装在默认和全局以外的 gemsets 上,我仍然遇到与乘客 3.0.19 相同的问题。这太麻烦了。我尝试了很多建议,甚至 rvm 内爆,然后让一切都焕然一新。但仍然撞到砖墙。我的前额几乎变平了。希望不要失去我的头!

幸运的是,我找到了自己的解决办法。我发现我在 rvm 多用户环境中,如果我使用命令切换到用户 gemset,就会出现问题:“rvm user gemsets”,它基本上将在用户的主文件夹中创建和使用 .rvm 文件夹。例如:/home/.rvm 而不是 /ur/local/rvm 文件夹。由于我不知道如何切换回来并且找不到任何有关如何切换的文档,因此我执行了以下步骤:

  1. 删除用户主文件夹中的 .rvm 文件夹,
    rm -rf ~username/.rvm

  2. 将用户添加回 rvm 组(在多环境中,每个新用户都需要添加到 rvm 组)
    sudo usermod -a -G rvm username

  3. 重新登录。

现在,只要我使用共享的 rvm gemset 文件夹,phusion 乘客就不会抱怨。

希望对某人有所帮助。

于 2013-03-09T00:02:36.343 回答
0

我修复了 Permission Denied 问题:

chmod a+x /Users/tvd/.passenger/standalone/3.0.7-x86_64-ruby1.9.2-macosx-10.6/support/helper-scripts/*

在 phusion.nl 博客的评论部分找到它:

转到 Phusion 博客上的评论

于 2011-06-18T09:42:31.130 回答