I receive the following error when including fancy_buttons:
File to import not found or unreadable: compass/css3.sass
This is my compass configuration:
~/RailsProjects/collaborate$ runner "require 'pp'; pp
Sass::Plugin.options"
{:full_exception=>true,
:template_location=>
{"/usr/lib/ruby/gems/1.8/gems/chriseppstein-compass-0.8.17/
frameworks/compass/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/chriseppstein-compass-colors-0.2.0/
sass"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/chriseppstein-compass-0.8.17/
frameworks/blueprint/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/home/bwilson/RailsProjects/collaborate/app/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/chriseppstein-compass-0.8.17/
frameworks/yui/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/fancy-buttons-0.3.7/lib/sass"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets"},
:css_location=>"/home/bwilson/RailsProjects/collaborate/public/
stylesheets",
:always_update=>false,
:cache_location=>"/home/bwilson/RailsProjects/collaborate/tmp/sass-
cache",
:always_check=>true,
:line_comments=>true}
Then make sure rails is using the correct versions of compass by adding it to your environment.rb. if you're vendoring your gems, make sure to remove chriseppstein-compass and references to it in your environment.rb.
- Brandon Mathis
> --
>
> You received this message because you are subscribed to the Google Groups "Compass" group.
> To post to this group, send email to compas...@googlegroups.com.
> To unsubscribe from this group, send email to compass-user...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/compass-users?hl=en.
>
>
Took a bit of effort to get rid of compass, but I did. I believe there
is a dependency issue. I can't run fancy-buttons-0.3.7 without compass-
colors-0.3.1, which requires compass-0.8.17 which breaks fancy-
buttons-0.3.7. What follows is the rabbit hole fancy-buttons has
forced me down for the past hour.
> gem list compass
> *** LOCAL GEMS ***
> compass (0.10.0.pre2)
> gem list fancy-buttons
> *** LOCAL GEMS ***
> sudo gem install fancy-buttons
> Successfully installed compass-0.8.17
> Successfully installed compass-colors-0.3.1
> Successfully installed fancy-buttons-0.3.7
> 3 gems installed
I removed all compass references in my project then did:
> compass -r compass-colors -r fancy-buttons -f fancy-buttons project_directory
When I run the server I get:
> File to import not found or unreadable: fancy_buttons.sass.
Then I follow the advice for an existing project:
> # Add the following lines to your compass configuration file:
> require 'compass-colors'
> require 'fancy-buttons'
> # Then run the following command:
> compass -r fancy-buttons -f fancy-buttons project_directory
And when I start the server I get:
> /usr/local/lib/site_ruby/1.8/rubygems.rb:279:in `activate': can't activate compass (>= 0.10.0.pre2, runtime) for ["fancy-buttons-0.3.7"], already activated compass-0.8.17 for [] (Gem::LoadError)
The issue appears that 'sudo gem install fancy-buttons' installs
'compass-0.8.17'. When I go to remove 'compass-0.8.17', I get the
following:
> You have requested to uninstall the gem:
> compass-0.8.17
> compass-colors-0.3.1 depends on [compass (>= 0.8.7)]
> If you remove this gems, one or more dependencies will not be met.
But, I remove anyway. I get
> /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- compass (MissingSourceFile)
Gems installed
compass (0.10.0.pre2, 0.8.17)
compass-colors (0.3.1)
fancy-buttons (0.3.7)
Compass configuartion
# Require any additional compass plugins here.
require 'compass'
require 'compass-colors'
require 'fancy-buttons'
project_type = :rails
project_path = RAILS_ROOT if defined?(RAILS_ROOT)
# Set this to the root of your project when deployed:
http_path = "/"
css_dir = "public/stylesheets/compiled"
sass_dir = "app/stylesheets"
images_dir = "public/images"
javascripts_dir = "public/javascripts"
# To enable relative paths to assets via compass helper functions.
Uncomment:
# relative_assets = true
http_images_path = "/images"
http_stylesheets_path = "/stylesheets"
http_javascripts_path = "/javascripts"
./script/runner "require 'pp'; pp Sass::Plugin.options"
{:style=>:expanded,
:line_comments=>true,
:css_location=>"/Users/davide/Code/aggio/public/stylesheets",
:cache_location=>"/Users/davide/Code/aggio/tmp/sass-cache",
:template_location=>"/Users/davide/Code/aggio/app/stylesheets",
:always_update=>false,
:always_check=>true,
:full_exception=>true}
After server starts i get this error
Status: 500 Internal Server Error
File to import not found or unreadable: fancy_buttons.sass.
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/files.rb:
81:in `find_file_to_import'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
217:in `dependencies'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
216:in `map'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
216:in `dependencies'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
215:in `map'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
215:in `dependencies'
/opt/local/lib/ruby/gems/1.8/gems/compass-0.10.0.pre2/lib/compass/
sass_extensions/monkey_patches/stylesheet_updating.rb:18:in
`exact_stylesheet_needs_update?'
/opt/local/lib/ruby/gems/1.8/gems/compass-0.10.0.pre2/lib/compass/
sass_extensions/monkey_patches/stylesheet_updating.rb:10:in
`stylesheet_needs_update?'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
81:in `update_stylesheets'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
77:in `each'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
77:in `update_stylesheets'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
75:in `each'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
75:in `update_stylesheets'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin.rb:
62:in `check_for_updates'
/opt/local/lib/ruby/gems/1.8/gems/haml-2.2.16/lib/sass/plugin/
rails.rb:18:in `process_without_compass'
/opt/local/lib/ruby/gems/1.8/gems/compass-0.10.0.pre2/lib/compass/
app_integration/rails/action_controller.rb:7:in `process'
sudo gem uninstall compass
Remove executables:
compass
in addition to the gem? [Yn] y
Removing compass
ERROR: While executing gem ... (NoMethodError)
undefined method `name' for nil:NilClass
On Dec 23, 11:55 am, Chris Eppstein <ch...@eppsteins.net> wrote:
> I'm not sure what the issue is. Please try installing the dependencies
> manually, I think rubygems are confused by the pre-release dependencies:
>
> sudo gem install haml
> sudo gem install compass --version 0.10.0.pre2 --sourcehttp://gemcutter.org
> sudo gem install compass-colors
> sudo gem install fancy-buttons
>
> chris
>
> > compass-user...@googlegroups.com<compass-users%2Bunsu...@googlegroups.com>
To unsubscribe from this group, send email to compass-user...@googlegroups.com.
gem -v == 1.3.4
[snipall]
sudo gem update --system
Hunt & pecked on my iPhone... Sorry if it's brief!
> --
>
> You received this message because you are subscribed to the Google
> Groups "Compass" group.
> To post to this group, send email to compas...@googlegroups.com.
> To unsubscribe from this group, send email to compass-user...@googlegroups.com
I'm including my details for posterity.
gem -v == 1.3.5
gem list compass [compass (0.10.0.pre2), compass-colors (0.3.1)]
gem list fancy-buttons [fancy-buttons (0.3.7)]
./script/runner "require 'pp'; pp Sass::Plugin.options"
{:always_check=>true,
:style=>:expanded,
:cache_location=>"/home/bwilson/RailsProjects/collaborate/tmp/sass-
cache",
:full_exception=>true,
:line_comments=>true,
:template_location=>
{"/home/bwilson/RailsProjects/collaborate/app/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/compass-0.10.0.pre2/lib/compass/
frameworks/compass/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets",
"/usr/lib/ruby/gems/1.8/gems/compass-0.10.0.pre2/lib/compass/
frameworks/blueprint/stylesheets"=>
"/home/bwilson/RailsProjects/collaborate/public/stylesheets"},
:css_location=>"/home/bwilson/RailsProjects/collaborate/public/
stylesheets",
:always_update=>false}
I use the following gems:
compass (0.10.0.pre5)
compass-colors (0.3.1)
fancy-buttons (0.3.9)
haml (2.2.17)
> I spent hours going through the same rabbit holes and came to the
> conclusion that it would be easier to code my own fancy buttons.
If you do, perhaps you'll consider sharing them. I'd love to see what you come up with.
> Too many dependencies for my taste,
When color functions are available in Sass and when gradient mixins are released with Compass 0.10, fancy buttons will only require the latest stable version of Compass. Until then, *the only way* to use color functions and gradient mixins is by relying on the latest versions of Sass, compass-colors, and a pre-release version of Compass. This isn't because fancy-buttons is a crappy plugin. It's bleeding edge, and many of the technologies it relies on are still in development. I could reduce dependencies by ripping code out of compass-colors, and internalizing the Compass mixins, but that would be foolish since the point of a plugin is to enhance the core library.
> and I dont like the fact that it assumes I want to include an additional stylesheet in my template.
Fancy buttons doesn't require you to do this, it simply provides buttons.sass to give you an idea of how the plugin works and let you use it right away, copy it to another file, or delete it and start from scratch. The only thing you have to do to use fancy buttons is add "@import fancy_buttons" to the top of one of your sass files. For example, I have a _base.sass file where I handle all my plugin imports and that's where I import fancy_buttons.
I think the problem here is your misunderstanding of how Compass works. I'm not forcing you to make an additional http request just for button styles. It's just sass, put it wherever you want it to go.
> For the record I have installed many other compass plugins without a hitch.
Cool, glad to hear it. Fancy buttons will soon be that way too, but a great deal of that is out of my hands due to the release cycles of Compass and Sass.
Cheers,
- Brandon Mathis
http://brandonmathis.com