2017-07-23 21 views
3

我得到加载网页时通过的Phusion发布了以下错误:Phusion错误:未定义的方法`有?'社科院::的Util:模块

There was an error while trying to load the gem 'compass-rails'. 
Gem Load Error is: undefined method `has?' for Sass::Util:Module 
Did you mean? hash 
       Hash 
Backtrace for gem load error is: 
/Volumes/Data/htdocs/zetcho/vendor/bundle/gems/compass-0.12.2/lib/compass/sass_extensions/functions/urls.rb:5:in `has?' 

在指示的位置的代码是:

module Compass::SassExtensions::Functions::Urls 


def self.has?(base, instance_method) 
    Sass::Util.has?(:instance_method, base, instance_method) 
end 

我的宝石文件包含:

# Bundle edge Rails instead: gem 'rails', github: 'rails/rails' 
gem 'rails', '~> 5.1.2' 

# Use mysql as the database for Active Record 
gem 'mysql2', '~> 0.3.18' 

# Use SCSS for stylesheets 
gem 'sass-rails', '~> 5.0' 

# Use Compass for stylesheets 
gem 'compass-rails' 

# Use the Compass extension susy 
gem "sprockets" 
gem 'susy' 

我刚刚使用Rails 5.1.2和ruby 2.3.1创建了Ruby on Rails站点。我有一个很老的网站,可以很好地与宝石。我是否错过了整体安装的一个步骤,或者这是一个罗盘轨道的错误?

我得到了同样的错误,当我尝试添加控制器:

rails generate controller home index 

回答

5

更多周围挖掘后,我发现了一个类似的问题。我解决了这个问题一个通过改变宝石文件:

gem 'compass-rails', github: 'Compass/compass-rails' 

然后:

rm gemfile.lock 
bundle 
1

看来,这个问题可以在compass-rails 2.0.0找到。版本3.0.2似乎解决了这个问题。因此,一个可能的解决方案是:

# Gemfile 
gem 'compass-rails', '~> 3.0.2' 

然后bundle update compass-rails

这避免了使用定位罗盘轨道的Git主分支有利于实际释放。