cur*_*urt 6 rubygems ruby-on-rails passenger compass-rails
加载网页时,我收到Phusion发出的以下错误:
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?'
Run Code Online (Sandbox Code Playgroud)
指定位置的代码是:
module Compass::SassExtensions::Functions::Urls
def self.has?(base, instance_method)
Sass::Util.has?(:instance_method, base, instance_method)
end
Run Code Online (Sandbox Code Playgroud)
我的gem文件包含:
# 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'
Run Code Online (Sandbox Code Playgroud)
我刚刚使用Rails 5.1.2和ruby 2.3.1创建了Ruby on Rails站点.我有一个更老的网站,与宝石一起工作正常.我是否错过了整体安装中的一个步骤,或者这是指南针导轨的错误?
我尝试添加控制器时遇到了同样的错误:
rails generate controller home index
Run Code Online (Sandbox Code Playgroud)
经过更多的挖掘,我发现了类似的问题.我通过将gem文件更改为:
gem 'compass-rails', github: 'Compass/compass-rails'
Run Code Online (Sandbox Code Playgroud)
然后:
rm gemfile.lock
bundle
Run Code Online (Sandbox Code Playgroud)
看来这个问题可以在 中找到compass-rails 2.0.0。该版本3.0.2似乎解决了这个问题。所以一个可能的解决方案是:
# Gemfile
gem 'compass-rails', '~> 3.0.2'
Run Code Online (Sandbox Code Playgroud)
然后bundle update compass-rails
这避免了以 compass-rails git master 分支为目标而支持实际发布。
| 归档时间: |
|
| 查看次数: |
5255 次 |
| 最近记录: |