Ruby on rails 当我在生产环境中部署ror应用程序时,我会遇到以下错误
在Ruby on rails 当我在生产环境中部署ror应用程序时,我会遇到以下错误,ruby-on-rails,ruby,rubygems,ruby-on-rails-plugins,Ruby On Rails,Ruby,Rubygems,Ruby On Rails Plugins,在gem\u original\u require\u中:没有要加载的文件--haml(MissingSourceFile) 但这颗宝石已经镶嵌好了 我还有这个路径的插件:-/home/techvant/rails_app/techease/vendor/plugins/haml/init.rb 此初始化文件包含以下代码:- begin require File.join(File.dirname(__FILE__), 'lib', 'haml') # From her
gem\u original\u require\u中:没有要加载的文件--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\u ruby/1.8/rubygems/custom\u require.rb:31:ingem\u original\u require”:没有这样的文件要加载--haml(缺少源文件)来自/usr/lib/ruby/site\u ruby/1.8/rubygems/custom\u require.rb:31:in
require'
from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active\u support/dependencies.rb:156:inrequire'from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active\u support/dependenciences.rb:521:in
new\u constants\u-in'
from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_-support/dependencies.rb:156:inrequire'from/home/techvant/rails_-app/techease/vendor/plugins/haml/init.rb:4:in
evaluate_-init\rb'
from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:146:inevaluate_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\u警告
from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:142:inevaluate\u init\u rb'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin.rb:48:in
load'
from/home/techvant/rails_app/techease/config/。/vendor/plugins/sitennija/engines/lib/engines/plugin.rb:77:inload'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:38:in
load_plugins'
from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in每个'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/rails/plugin/loader.rb:37:in
加载插件'
from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:348:inload_插件'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:163:in
process'
from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:insend'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/initializer.rb:113:in
run'
from/home/techvant/rails_app/techease/config/environment.rb:9
from/usr/lib/ruby/site\u ruby/1.8/rubygems/custom\u require.rb:31:ingem\u original\u require'from/usr/lib/ruby/site\u ruby/1.8/rubygems/custom\u require.rb:31:in
require'
from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active\u support/dependencies.rb:156:inrequire'from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active\u support/dependenciences.rb:521:in
new\u constants\u-in'
from/usr/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active\u support/dependencies.rb:156:inrequire'from/usr/lib/ruby/gems/1.8/gems/rails-2.3.2/lib/commands/server.rb:84 from/usr/lib/ruby/site\u ruby/1.8/rubygems/custom\u require.rb:31:in
from/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in'require'
从脚本/服务器:3
尝试:
gem更新轨道
…在服务器上,而不是在您的开发机器上您可以尝试解压缩gem,使其位于rails应用程序目录中,这将消除rails应用程序对系统中本地gem的依赖。干杯 既然haml是一颗宝石,我就把它放在environment.rb中:
config.gem 'haml'
然后,解包并将其添加到回购协议中:
rake gems:install
rake gems:unpack
最后,删除已有的haml插件引用 我在这个问题上也遇到了很多麻烦。以下是我最终解决这个问题的步骤
首先,安装gem
放
在environment.rb文件中。实际上,我不得不把它放在我的environments/development.rb和environments/production.rb(等等)中,因为它抱怨不知道rails_env。这不是最优的,但它起了作用。
然后跑
rake gems:install
然后
然后重新启动rails服务器。通过删除“
这解决了什么问题吗?您使用的是什么版本的rails?
rake gems:install
mkdir -p /vendor/plugins/haml
cp vendor/gems/haml-2.2.0/init.rb /vendor/plugins/haml/init.rb