在`gem_original_require'中:没有要加载的文件 - haml(MissingSourceFile)
但是这个宝石已经出现了 .
我也有这个路径的插件: - / home / techvant / rails_app / techease / vendor / plugins / haml / init.rb
这个init文件有以下代码: -
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':没有要加载的文件 - 来自/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require的haml(MissingSourceFile) .rb:31:来自/ usr / lib / liby / gems / . 1.8 / gems / activesupport-2.3.2 / lib / active_support / dependencies.rb:521:来自/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb的innew_constants_in': 156:在/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib中的'from /home/techvant/rails_app/techease/vendor/plugins/haml/init.rb:4:inevaluate_init_rb'中来自/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/core_ext/kernel/reporting.rb:11:insilence_warnings的/rails/plugin.rb:146:invaluation_init_rb'来自/ usr / lib / ruby / gems / 1.8 / gems / rails-2.3.2 / lib / rails / plugin.rb:142:在/usr/lib/ruby/gems/1.8/gems/rails-2.3.2的evaluate_init_rb'中/lib/rails/plugin.rb:48:inload'fr om /home/techvant/rails_app/techease/config/../vendor/plugins/siteninja/engines/lib/engines/plugin.rb:77:in load'来自/usr/lib/ruby/gems/1.8/gems/ rails-2.3.2 / lib / rails / plugin / loader.rb:38:inload_plugins'来自/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb: 37:来自/usr/lib/ruby/gems/1.8的每个'来自/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:inload_plugins' /gems/rails-2.3.2/lib/initializer.rb:348:in load_plugins'来自/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:163:inprocess'来自/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in发送'来自/usr/lib/ruby/gems/1.8/gems/rails-2.3.2 /lib/initializer.rb:113:inrun'来自/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:inrequire'来自/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/depende ncies.rb:156:在/ usr / lib / ruby / gems中的'from /usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:521:innew_constants_in'中/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来自/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:ingem_original_require'来自/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in`requirex'from脚本/服务器:3
4 回答
您可以尝试解压缩宝石,使它们位于您的rails应用程序目录中,这将取消您的rails应用程序取决于系统中的本地宝石 . 干杯!
由于haml是一个gem,我将它放在environment.rb中:
然后,解压缩并将其添加到仓库:
最后,删除你有的haml插件引用 .
尝试:
...在服务器上,而不是您的开发机器上
这个问题我也遇到了很多麻烦 . 以下是我最终解决它的步骤 .
首先,安装gem .
放
在您的environment.rb文件中 . 我实际上不得不把它放在我的环境/ development.rb和environments / production.rb(等)中,因为它抱怨不知道rails_env . 哪个不是最优的,但它有效 . 然后运行
然后
然后重启rails服务器 .