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

Използвам RVM, Ruby 1.9.2, Rails 3, Passenger 3.0.2, конфигуриран за Nginx, настройвам правилно конфигурацията на сървъра. Още едно работещо приложение до момента.

Но за новото приложение, при зареждане на сървъра

http://myapp.local (конфигуриран е с hosts to point server bind на Nginx conf) Връща (Bundler::GemNotFound ) грешка. Как да заобиколите това?

Благодаря.


person Harry    schedule 25.01.2011    source източник
comment
Моля, включете проследяването на стека на грешката, за да можем да я разберем повече.   -  person raidfive    schedule 26.01.2011
comment
Това е обратното проследяване от Passenger shorttext.com/w485coz56bs   -  person Harry    schedule 26.01.2011
comment
пише Не може да се намери activemerchant-1.10.0 в нито един от източниците (Bundler::GemNotFound), но не може да се намери никакъв скъпоценен камък. Не е свързано с активен търговец. (Тестван с повторно конфигуриране на Gemfile)   -  person Harry    schedule 26.01.2011


Отговори (4)


Вярвате или не, това е много често срещан проблем, с който повечето Rails разработчици ще се сблъскат. Разгледайте тази публикация, която описва корекцията, която мисля, че търсите. Късмет. http://dalibornasevic.com/posts/21-rvm-and-passenger-setup-for-rails-2-and-rails-3-apps

person ChuckJHardy    schedule 26.01.2011
comment
Работи. Решението също се споменава тук rvm.beginrescueend.com/integration/passenger - person Harry; 26.01.2011
comment
Също така файлът .rvmrc на RVM трябва да е на основния път. - person Harry; 26.01.2011
comment
Страхотни неща, Успех Хари. - person kylewelsby; 26.01.2011

За по-ясно и актуално решение вижте официалната страница с документи за използване на RVM rubies с 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.

person Marius Butuc    schedule 24.03.2013

За базирани на rvm приложения и Passenger можете да се обърнете към тези документи:

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

Конкретният ми проблем беше, че нямах инсталиран скъпоценен камък за пътници в текущия скъпоценен камък:

$ 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

След инсталацията скриптът отпечата инструкции как да зададете променливата PassengerDefaultRuby в конфигурацията на Apache. Ето! - без допълнителни скриптове и манипулиране на LOAD_PATH ;)

person Evgeniya Manolova    schedule 20.09.2013

Не знам защо, но инсталирах липсващия Gem в Global Gemset и той работи!

person defmsy    schedule 18.07.2013
comment
Защото сте инсталирали в глобалните комплекти скъпоценни камъни. Глобален... разбра ли? - person Victor S; 11.04.2014