Ruby Sinatra Gem赢得';安装
我正在linode上运行Ubuntu10.04,试图让sinatra、passenger、nginx和rvm都能很好地使用Ruby 1.9.2。不过,我遇到了一个关于gems的问题: ~/.rvm/gems/ruby-1.9.2-p290/gems$ls返回值Ruby Sinatra Gem赢得';安装,ruby,nginx,gem,sinatra,passenger,Ruby,Nginx,Gem,Sinatra,Passenger,我正在linode上运行Ubuntu10.04,试图让sinatra、passenger、nginx和rvm都能很好地使用Ruby 1.9.2。不过,我遇到了一个关于gems的问题: ~/.rvm/gems/ruby-1.9.2-p290/gems$ls返回值 daemon_controller-0.2.6 fastthread-1.0.7 passenger-3.0.9 rack-1.3.2 rake-0.9.2 和宝石清单 返回 让我感到奇怪的是,它们不一样。而西纳特拉在.rvm宝
daemon_controller-0.2.6 fastthread-1.0.7 passenger-3.0.9 rack-1.3.2 rake-0.9.2
和宝石清单
返回
让我感到奇怪的是,它们不一样。而西纳特拉在.rvm宝石中失踪了
当我访问我的网站时,我会得到以下信息:
Error message:
no such file to load -- sinatra
使用/home/noahc/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/site\u ruby/1.9.1/rubygems/custom\u require.rb,位于require'的第36行`
有什么想法吗?谢谢 似乎您的rvm gemset未使用有问题
首先,cd/yourprojectdir
并为您的项目创建一个.rvmrc
和匹配的gemset
rvm --rvmrc --create 1.9.2@yourprojectname
然后确保您正在使用gemset
rvm gemset list
箭头应指向您的gemset,如果不是,请使用您的项目名
现在使用gem安装
,或者-better-捆绑安装
安装您的gems
乘客3应检测到您的.rvmrc
,并自动使用正确的gemset。是否有办法确认我是否正确执行了此操作?我没有收到任何错误或任何东西,但它仍然不起作用。如果您想要整个堆栈跟踪,您可以完全看到我看到的内容。您的Web服务器正在生成错误的乘客宝石。在.rvm/gems/ruby-1.9.2-p290/gems/passenger-3.0.9/
中,您可以看到它根本没有使用任何gemset。如果不了解一点您的Web服务器配置,我无法告诉您更多。您使用的是哪个Web服务器?乘客是如何安装的?我正在使用nginx。我使用了以下过程来安装它:您能解释一下您是如何知道web服务器产生了错误的乘客gem的吗?根据指南,您让乘客gem为您安装Nginx。乘客模块被编译成Nginx,这就是为什么错误的模块仍然被加载的原因。删除/opt/nginx
目录,通过rvm gemset列表确保您在正确的gemset中,然后再次运行乘客安装nginx模块。它将使用正确的gem再次构建Nginx。您不再需要指南中提到的passenger\u ruby
线路,乘客3将自动找到并使用您的rvmrc。
rvm gemset list