Gulp Compass broke down after Sass update 3.4.6 - gulp

When my gulp runs compass over my sass file I run into the following error:
error src/scss/site/style.scss (/Library/Ruby/Gems/2.0.0/gems/sass-3.4.6/lib/sass/selector/abstract_sequence.rb:96:in `block in _specificity': undefined method `specificity' for [:not(.pointer)]:Array)
I don't know what this error means exactly, but the file it's pointed to has no special source, it's just a small legit scss file:
#import '../general';
.tld {
color: $color-primary;
}
I also keep getting these errors in my Gulp streams, it might be related:
[21:45:01] Ignoring psych-2.0.6 because its extensions are not built. Try: gem pristine psych-2.0.6
[21:45:01] Ignoring ffi-1.9.5 because its extensions are not built. Try: gem pristine ffi-1.9.5
Of course I tried the "gem pristine" but that doesn't do anything.
I don't know what happened all I know is that my gulpfile was the same last week and it worked flawlessly. I installed OSX Yosemite and didn't do anything special.
I know my description lacks stuff, but that's because I don't have a clue where to look for a solution, because I don't understand the error.

Ok, I was blaming my OSX Yosemite upgrade but this was not right. I also upgraded my gems and it appears my sass upgrade to 3.4.6 broke down sass. Downgrading to 3.4.5 does the job:
sudo gem uninstall sass
sudo gem install sass --version 3.4.5

This worked for me without downgrading anything:
gem pristine --all
Ref:
http://guides.rubygems.org/command-reference/#gem-pristine

SASS 3.4.5 will fix it:
sudo gem install sass --version 3.4.5
Also recommended is switching to using node-sass, as the libsass bindings are much cleaner to work with.

Related

gulp - internalBinding is not defined

I'm getting this error when I try to run the command gulp watch-bs for my UnderStrap child theme for WordPress. I've been using this command for a year with no problems, but I received this error today when I updated my node and npm to their latest versions.
ReferenceError: internalBinding is not defined
at internal/util/inspect.js:31:15
at req_ (C:\xampp\htdocs\node_modules\natives\index.js:137:5)
at require (C:\xampp\htdocs\node_modules\natives\index.js:110:12)
at util.js:25:21
at req_ (C:\xampp\htdocs\node_modules\natives\index.js:137:5)
at require (C:\xampp\htdocs\node_modules\natives\index.js:110:12)
at fs.js:42:21
at req_ (C:\xampp\htdocs\node_modules\natives\index.js:137:5)
at Object.req [as require] (C:\xampp\htdocs\node_modules\natives\index.js:54:10)
at Object.<anonymous> (C:\xampp\htdocs\node_modules\vinyl-fs\node_modules\graceful-fs\fs.js:1:99)
I've read here that, in order to resolve the issue, I need to run this command:
npm install natives#1.1.6
but this did not help resolve the issue.
Am I missing something else?
I ran into the same issue as you. To fix it, I added the following to my package.json in the devDependencies section
"natives": "^1.1.6"
I had the same error after upgrading node to v10.16.0
I ran the following which solved my issue:
rm -rf node_modules
rm package-lock.json
npm cache clean --force
npm install
After closer inspection, it would seem that the generated tree in package-lock was outdated.
I also faced the same problem and then I fixed by the following command:
npm install natives#1.1.6
May be helpful if someone having same issue.
updating node to latest version requires above package.
I recently ran into the same problem after installing node. Similar to #Dv-Learner answer, What fixed it for me was:
npm install natives#1.1.6
npm rebuild node-sass
the bit about rebuild node-sass was required for my machine (Windows)
#Student 22, in addition to Lloyd's solution, I simply updated my version to the most recent version for gulp using the command below ( Local Version 3.9.1 to Local Version 4.0.0) and I didn't run any additional commands.
npm install gulp-update
Reference: https://github.com/nodejs/node/issues/24985
Good luck!
In my case, I downgraded my node version from 10.16.0 to 8.11.4 which was required by my current project by this command
sudo n 8.11.4
Had the same error. Solved it by installing graceful-fs.
It seems that natives package is now deprecatd and you should install graceful-fs instead.
I had node v10.16.1 and glup local version 3.9.1. I ran 'npm install graceful-fs' and glup no longer gave the error in this question.
(Can't comment yet, so an answer).
Try this, it's working for me:
npm install -g graceful-fs graceful-fs#latest

jekyll commands output some failure

I have something wrong with my jekyll installation. After typing however jekyll command in terminal, it outputs following:
/usr/lib/ruby/vendor_ruby/jekyll/converters/sass.rb:6:in
<module:Converters>': uninitialized constant Jekyll::Converters::Scss (NameError)
from /usr/lib/ruby/vendor_ruby/jekyll/converters/sass.rb:5:in ...'
Anyone knows what's wrong? I have no idea. Thanks
You can try to gem update or bundle update. This seems to be an old bug.
I had this problem with jekyll on Ubuntu 14.10. It's been fixed in Debian, and reported as a bug in Ubuntu. You can manually apply the same fix, it's just one line (see patch) that needs to be added to a file:
Open /usr/lib/ruby/vendor_ruby/jekyll/converters/sass.rb
Add require 'jekyll/converters/scss' at the top, just after require 'jekyll/utils'
Also make sure that the package ruby-mercenary is installed (sudo apt-get ruby-mercenary), because of another bug.
Then Jekyll will work. Alternatively, use Rubygems: gem install jekyll.

Is Installing Jruby on Nitrious.io possible?

Does Nitrous.io support JRuby?
Installing it with RVM seems to attempt to run a sudo apt-get update, which it won't allow...
Thanks.
First you will need to update RVM.
rvm get head
From there you can install jruby:
rvm install jruby
Next, set RVM to use jruby.
rvm use jruby
Next, add jruby to your PATH.
export PATH=$PATH:/opt/jruby/bin
From there you should be able to check that jruby is working with the following command:
jruby --version
So, installing a jruby binary seems to work fine, but still cant figure out how to get RVM to do the install...
So, I just manually moved jruby into the .rvm folder...I put a copy of the binary in the .rvm/rubies directory, made a symlink from the binaries' "jruby" executable to a "ruby" executable in the .rvm/rubies bin folder, made related empty folders for jruby in the .rvm/gems directory for the version of jruby, and did "rvm jruby-1.7.8 do rvm gemset create" and now I can do "rvm use jruby"...things seem to work fine.
I have a bad feeling about this tho. But I always do when using RVM...
I don't know if it will actually require any additional packages (so this might not work), but you could try running rvm with --autolibs=0 so it doesn't attempt to install any packages; see https://rvm.io/rvm/autolibs for details.

LESS CSS Programming

I am using an "OPEN SUSE-LINUX". There is no compiler available for less css in linux. For ex. "simple-less compiler" is not working in linux as it has .exe file.
So there is some difficulty which i came across.
So anyone can give me a basic info of how to use LESS CSS without using compiler. There is website for these kind of information but it have lots of ambiguity. Also need html file along with LESS CSS.
So clearly needed a html file which is linked with any less css minified version.
You can use Node module: https://npmjs.org/package/less
npm install -g less
lessc styles.less styles.css
If you use PHP as server-side language you can use the PHP compiler http://leafo.net/lessphp/
You'll have to compile the less code. I don't know if suse has package for gem/rubygems, but you can install gem and then use gem to install less.
How to install rubygems is more a OS question, programming. So StackOverflow may not be the right forum, but to point you in the right direction:
First hit on google for "less css suse" find an Ubundu solution. First line is dist-specific and the last line may require different paths on suse:
http://www.edmondscommerce.co.uk/less-css/less-css-installation-on-ubuntu-10-10/
sudo apt-get install rubygems1.8 ruby1.8-dev (ubuntu/debian)
sudo gem install rubygems-update
sudo gem update rubygems
sudo gem install less
sudo ln -s /var/lib/gems/1.8/bin/lessc /usr/bin/

Just started ROR Lynda Tutorial, Error while trying to execute rails server

Just started ROR Lynda Tutorial, Error while trying to execute the rails server in terminal.
New to ROR. Followed tutorial closely and installed all necessary gems and files. Creating a simple CMS. However I'm stuck with the following error.
$ rails server
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/shared_helpers.rb:3.
NOTE: Gem.source_index is deprecated, use Specification. It will be removed on or after 2011-11-01.
Gem.source_index called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
NOTE: Gem::SourceIndex#each is deprecated with no replacement. It will be removed on or after 2011-11-01.
Gem::SourceIndex#each called from /Library/Ruby/Gems/1.8/gems/bundler-1.0.10/lib/bundler/source.rb:162.
Could not find gem 'mysql2 (~> 0.2.6)' in any of the gem sources listed in your Gemfile.
I have installed MySQL server version 5.5.13. I have Rails version 3. I have the MySQL(0.3.2) gem file installed. Any help would be appreciated. Thanks
The best way to fix this is to run
gem pristine --all
This rebuilds the Gems and should get rid of the error for you.
From the error I see that most likely your setup is not right. You should do a 'bundle check' to see if all dependencies have been met, I am quite sure they haven't. If you haven't yet done a 'bundle install' you need to do so, if you've done that already, then the problem is that bundler wasn't able to install mysql2 gem version 0.2.6 (it must be mentioned somewhere either in you Gemfile or somehow in the Gemfile.lock in case you've got that from somewhere else). So you would then either bundle install will fix it, or if not, then you should probably do a 'bundle update mysql2'