listener.rb: Not a directory - compass-sass

In the past few week, I've started seeing errors when I try to run compass watch:
Errno::ENOTDIR on line ["60"] of /Library/Ruby/Gems/2.0.0/gems/listen-2.8.0/lib/listen/listener.rb: Not a directory - /Users/nick/.compass/extensions/readme.txt/stylesheets
It will watch and compile the SCSS into CSS once and then I have to run compass watch again and get that error. When I run compass watch --trace, I get this:
https://www.dropbox.com/s/s1cia842dusitol/compass-watch-trace.png?dl=0
My versions are Compass 1.0.1 (Polaris) & Sass 3.4.9 (Selective Steve)

I had the same problem when running compass watch in terminal because I was in the wrong directory. Are you running it in the same directory as the config.rb file is located at?
I fixed it by first navigating to the folder config.rb is in and then executing compass watch...

Best option I found was this: Failed to build gem native extension (installing Compass)
After that, I starting using http://mhs.github.io/scout-app/ and that worked fine. When I started a new job that uses Grunt, I ditched compass watch all together and used the grunt-contrib-sass plug-in to get the job done.

Related

Watch and compile existing scss folder with compass

Hi I am working on a project which already comes with an scss and css folder with existing files within them. I have compass installed and I am trying to get it to watch the scss folder and compile the changes to the css folder. If i use
compass create
it generates all of its own folders. If I use
compass create . --bare --sass-dir "scss" --css-dir "css"
it says the config.rb file already exists. And if I use
compass watch
it says there is nothing to compile. Any ideas where I am going wrong? Cheers!
You can also run Sass with the --compass flag to load Compass. This makes it easy to slot Compass into an existing Sass project.
I know this is an older question, but stumbled across it when I encountered the same issue, interestingly running the following worked for me. Without --force, I encounted the same issue as OP when he tried the command without it, but with it included, it worked like a charm.
compass create . --bare --sass-dir "scss" --css-dir "css" --force

grunt compass Error: invalid option --sourcemap

i run grunt dev and get the error:
Running "compass:dev" (compass) task
Error: invalid option: --sourcemap
Don´t know why :(
Don´t even know how i could run compass without the option ... found nothing in the gruntfile.
thanks for help, i´m new with grunt/compass/sass
Execute "gem list" so we can have more details on what gem versions you're using.
AFAIK the sourcemap works since sass 3.3 and up.
If you want to disable the sourcemap on your project, check your config.rb file and check the sass_options entry, you might find ":sourcemap => true". If you find it, remove it and check it out.
Hope it helps!
This happens because of old version of SASS (or COMPASS, if you are using it) ruby gems which do not support sourcemap options.
Update these with following commands:
gem update sass
gem update compass <= if applicable
This should resolve the issue.

Installing the correct environment for Angular with Compass and all other Node dependencies

I am just trying to make a local development environment that isn't on my work computer, and I keep getting an error:
Warning: Errno::ENOENT on line 441 of /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/pathname.rb: No such file or directory - /Users/johnpett/Desktop/Node/app/bower_components
Run with --trace to see the full backtrace Use --force to continue.
I have installed all the Ruby parts and Yeoman to build the app scaffold, but I can't seem to run the 'grunt server' command without throwing up this error.
The error is quite clear, a grunt-plugin require that file...
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/pathname.rb
Anyway ruby components are needed usually if you plan to use compass, if not, you can comment the "compass" sub-task in the "server" task in Gruntfile.js
Your folder was surely not called bower_components at that time. I guess you used yeoman.
In your compass task config you should have modified bower_components.

Using compass with Yeoman project, but outside of Yeoman server

I'm circumventing the built-in Yeoman server and severing files directly from the /app directory. Since Yeomen's server manages compass/sass compliation I'm having a hard time running compass outside of it. Running the compass cli directly doesn't work; it's not aware that it's in an existing compass project. So I get:
$ compass watch /app (or /app/styles)
Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Has anybody had experience getting this to work?
You have to move your Compass settings out into a config.rb file to use the Compass CLI.
However, you can easily run the Compass grunt task individually like so grunt compass to compile, or grunt watch to automagically compile on file changes.

Sass compiler can't see Compass

I have compass installed but when I try to watch the SASS file I get:
Line 1: File to import not found or unreadable: compass/css3.
Is there a way I should reference to compass?
(using Windows 7)
If you want to use Compass from the command line, you should be using its own watcher instead of Sass's.
compass watch
If you're within the context of another Ruby app, then you'll need to make sure the Compass gem is properly required.

Resources