【问题标题】:when I am deploy my ror application on production then I am getting following error当我在生产中部署我的 ror 应用程序时,我收到以下错误
【发布时间】:2011-01-11 18:36:14
【问题描述】:

gem_original_require': no such file to load -- 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:in 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:in evaluate_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

【问题讨论】:

  • 删除' 能解决什么问题吗?
  • 你用的是什么版本的rails?

标签: ruby-on-rails ruby rubygems ruby-on-rails-plugins


【解决方案1】:

因为 haml 是一个 gem,我会把它放在 environment.rb 中:

config.gem 'haml'

然后,解压并将其添加到 repo:

rake gems:install
rake gems:unpack

最后,删除您拥有的 haml 插件引用。

【讨论】:

    【解决方案2】:

    您可以尝试将 gem 解包,使其位于您的 rails 应用程序目录中,这将使您的 rails 应用程序不再依赖系统中的本地 gem。干杯!

    【讨论】:

      【解决方案3】:

      试试:

      宝石更新轨道

      ...在服务器上,而不是您的开发机器上

      【讨论】:

        【解决方案4】:

        我在这个问题上也遇到了很多麻烦。这是我最终解决的步骤。

        首先,安装 gem。

        config.gem 'haml' 
        

        在您的 environment.rb 文件中。实际上,我不得不将它放在我的环境/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 服务器。

        【讨论】:

          猜你喜欢
          • 2020-07-30
          • 1970-01-01
          • 2018-02-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-07-18
          相关资源
          最近更新 更多