簡體   English   中英

RVM,Ruby 1.9.2,Rails 3,Passenger 3.0.2(Bundler :: GemNotFound)

[英]RVM, Ruby 1.9.2, Rails 3, Passenger 3.0.2 (Bundler::GemNotFound)

我正在使用為Nginx配置的RVM,Ruby 1.9.2,Rails 3,Passenger 3.0.2,我正確設置了服務器配置。 另一個應用程序到目前為止

但對於新的應用程序,在啟動服務器時

http://myapp.local (它配置了主機指向Nginx conf上的服務器綁定)它返回(Bundler :: GemNotFound)錯誤。 怎么解決這個問題?

謝謝。

信不信由你,大多數Rails開發人員都會遇到這個問題。 看看這篇文章,詳細介紹了我認為您正在尋找的修復方法。 祝你好運。 http://dalibornasevic.com/posts/21-rvm-and-passenger-setup-for-rails-2-and-rails-3-apps

有關更清晰和最新的解決方案,請查看有關使用RAV紅寶石與Passenger的官方文檔頁面。

對於它的要點,添加

if ENV['MY_RUBY_HOME'] && ENV['MY_RUBY_HOME'].include?('rvm')
  begin
    gems_path = ENV['MY_RUBY_HOME'].split(/@/)[0].sub(/rubies/,'gems')
    ENV['GEM_PATH'] = "#{gems_path}:#{gems_path}@global"
    require 'rvm'
    RVM.use_from_path! File.dirname(File.dirname(__FILE__))
  rescue LoadError
    raise "RVM gem is currently unavailable."
  end
end

# If you're not using Bundler at all, remove lines bellow
ENV['BUNDLE_GEMFILE'] = File.expand_path('../Gemfile', File.dirname(__FILE__))
require 'bundler/setup'

到你的<rails-app-path>/config/setup_load_paths.rb

對於基於rvm的應用程序和Passenger,您可以參考以下文檔:

https://rvm.io/integration/passenger http://www.modrails.com/documentation/Users%20guide%20Apache.html#PassengerRuby

我特別的問題是我沒有在當前gemset中安裝乘客gem:

$ gem list --local |grep passenger # returns nothing

要安裝插件和Apache模塊,我執行了以下命令序列:

$ gem install passenger # for a specific version use the '--version' flag
$ gem list --local |grep passenger
passenger (4.0.18)
$ passenger-install-apache2-module

安裝后,腳本打印指示如何在Apache的配置中設置PassengerDefaultRuby變量。 瞧! - 沒有額外的腳本和LOAD_PATH操作;)

我不知道為什么,但我在Global Gemset中安裝了缺少的寶石,它可以工作!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM