при развертывании моего приложения ROR на производстве я получаю следующую ошибку - PullRequest
1 голос
/ 01 февраля 2010

в `gem_original_require ': такой файл не загружается - haml (MissingSourceFile)

но этот камень уже установлен.

У меня также есть плагин для этого пути: - / home / techvant / rails_app / techease / vendor / plugins / haml / init.rb

этот файл инициализации, имеющий следующий код: -

begin
     require File.join(File.dirname(__FILE__), 'lib', 'haml') # From here
   rescue LoadError
     require 'haml' # From gem
end

что мне нужно, чтобы решить эту ошибку, пожалуйста, помогите.

Ниже приведена трассировка ошибки.

/ usr / lib / ruby ​​/ site_ruby / 1.8 / rubygems / custom_require.rb: 31: в gem_original_require': no such file to load -- haml (MissingSourceFile) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require ' из /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in new_constants_in ' из /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in require' from /home/techvant/rails_app/techease/vendor/plugins/haml/init.rb:4:invalu_init_rb ' из /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:146:in evaluate_init_rb' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/kernel/reporting.rb:11:in silence_warnings ' из /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:142:in evaluate_init_rb' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:48:in load ' из /home/techvant/rails_app/techease/config/../vendor/plugins/siteninja/engines/lib/engines/plugin.rb:77:in load' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:38:in load_plugins ' из /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in each' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in load_plugins ' из /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:348:in load_plugins' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:163:in process ' из /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in send' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in run ' от /home/techvant/rails_app/techease/config/environment.rb:9 из /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require' from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require ' из /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:in new_constants_in ' из /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:156:in require' from /usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84 from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in gem_original_require ' из /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require ' из скрипта / сервера: 3

Ответы [ 4 ]

1 голос
/ 01 февраля 2010

Поскольку хамл - это драгоценный камень, я бы поместил его в environment.rb:

config.gem 'haml'

Затем распакуйте и добавьте его в репозиторий:

rake gems:install
rake gems:unpack

Наконец, удалите имеющиеся у вас ссылки на плагин haml.

0 голосов
/ 04 марта 2010

У меня тоже было много проблем с этой проблемой. Вот шаги, которые я наконец предпринял, чтобы решить эту проблему.

Сначала установите гем.

положить

config.gem 'haml' 

в вашем файле environment.rb. Я действительно должен был поместить это в мои environment / development.rb и environment / production.rb (и т. Д.), Так как он жаловался на то, что не знает rails_env. Что не является оптимальным, но это сработало. затем запустите

rake gems:install

Тогда

mkdir -p /vendor/plugins/haml
cp vendor/gems/haml-2.2.0/init.rb /vendor/plugins/haml/init.rb

затем перезапустите сервер rails.

0 голосов
/ 01 февраля 2010

вы можете попытаться распаковать драгоценные камни так, чтобы они находились в вашем каталоге приложений rails, это избавит ваше приложение rails от зависимости от локальных драгоценных камней в вашей системе. ура!

0 голосов
/ 01 февраля 2010

Попробуйте:

рельсы обновления самоцвета

... на сервере, а не на компьютере разработчика

...