我在amd-64平台上运行ubuntu 9.10服务器。一切都非常标准,我已经在ruby 1.8安装上运行了Sinatra 0.94。我想安装乘客以便轻松配置ssl。
问题是,它无法找到安装程序。
我跑
sudo gem install passenger
或
sudo gem install -r passenger
然后是下一行,
passenger-install-nginx-module
或
passenger-install-apache2-module
都失败了,因为找不到路径。
我在这里忘记了什么吗?一旦安装了宝石,它不应该直接工作吗?
答案 0 :(得分:37)
我想答案有点迟,但实际上,在使用RVM时运行nginx的Phusion Passenger安装程序的正确方法是使用rvmsudo
,如下所示:
rvmsudo passenger-install-nginx-module
积分转到this blog post,
答案 1 :(得分:25)
我使用了
rvmsudo `which passenger-install-nginx-module`
答案 2 :(得分:12)
根据github上的这个问题:https://github.com/wayneeseguin/rvm/issues/1307
似乎你必须做完整的路径:
这对我有用:
which passenger-install-nginx-module
rvmsudo ~/.rvm/gems/ruby-1.9.3-p327-new/gems/passenger-3.0.18/bin/passenger-install-nginx-module
答案 3 :(得分:5)
令人沮丧的错误,这就是为什么我离开这个问题而不是删除它(并且,使用upvote,我认为我不是唯一一个有问题的人。)
答案 4 :(得分:2)
我有类似的问题。您需要将gems添加到系统PATH中,将其粘贴到shell中:
export PATH=$PATH:$HOME/bin:/var/lib/gems/1.8/bin
或者,为了使它永久添加到你的bashrc,通常在这里:〜/ .bashrc
您也可以通过转到以下目录执行just-install-nginx-module:/var/lib/gems/1.8/bin
答案 5 :(得分:1)
我知道你已经回答了这个问题,但我想我会用一两分钟来回答。
我最近做过类似的nginx安装,但选择使用RVM来管理Ruby版本,这要求我们不要使用sudo。
我推荐这条路线,因为所有版本的Ruby和所有宝石都整齐地组织在您的主目录中。这样做也需要你手动编译nginx,这当然有助于理解管道。
您可以使用“--add-module = / home / user / path_to_passenger_gem / ext”手动编译nginx,但是您需要非常仔细地阅读RVM的说明...真的,不要跳过一行因为它们非常简洁。
这是RVM指令的链接:
http://rvm.beginrescueend.com/passenger/
和Nginx手册说明(你可能已经浏览过)。
答案 6 :(得分:0)
关于我的blog关于设置nginx与乘客(以及本案例中的ssl)的信息,我得到了一些信息。也许它有用,因为它经历了使用选项重新编译nginx的整个过程。