Assuming you already have ruby, bundler, node and npm installed, it is very easy to create a sub-theme and working environment that includes:

- dependency management using a gemfile for bundler and package.json for npm
- gulp for compiling your SASS files, checking your SCSS syntax, and other things...

drush dl --select zen
( choose 7.x-6.x-dev )
drush en zen -y
drush cc all

drush zen "sub-theme"
( --without-rtl doesn't seem to work  )

cd sites/all/themes/sub-theme

bundle install
npm install

(Install gulp for global/command line use )
npm install -g gulp

gulp

drush cc all
( If you get PDO exception, you need to run this, but supposedly npm install should have already run it: )
find node_modules/ -name '*.info' -type f -delete

gulp watch

( WARNING: Setting $box-sizing to border-box will fail for legacy IE browsers because the $box-sizing-polyfill-path is empty.)
( Change $critical-usage-threshold to be .3 on line 28 of sub-theme/sass/init/_variables.scss )
( Notice that gulp watch works. )

Comments

tstermitz created an issue. See original summary.

JohnAlbin’s picture

Title: Very short list of steps to install Zen.x-6.x-dev and a child theme » Update installation instructions
tstermitz’s picture

Issue summary: View changes

Went through pprocedure on clean Digital Ocean droplet. Need to use npm to install gulp globally:

npm install -g gulp

JohnAlbin’s picture

Instead of installing node.js modules globally, we should link to this article on how to use node binaries that are installed locally. https://www.previousnext.com.au/blog/getting-started-front-end-automatio...

JohnAlbin’s picture

JohnAlbin’s picture

  • JohnAlbin committed fcee901 on 7.x-6.x
    Issue #2567603 by JohnAlbin, tstermitz: Update installation instructions
    
JohnAlbin’s picture

Status: Active » Fixed
MustangGB’s picture

Followed the instructions, got as far as "npm install", it tells me npm isn't installed but I can install it with "sudo apt-get install npm", so I do this and run "npm install" again and it spews out the following:

user@server:/sites/all/themes/mytheme$ npm install
npm WARN engine gulp-autoprefixer@3.1.0: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.25","npm":"1.4.21"})
npm WARN engine gulp-size@2.0.0: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.25","npm":"1.4.21"})
npm WARN engine kss@2.1.1: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.25","npm":"1.4.21"})
npm WARN engine postcss@5.0.12: wanted: {"node":">=0.12"} (current: {"node":"0.10.25","npm":"1.4.21"})
npm WARN engine gzip-size@3.0.0: wanted: {"node":">=0.12.0"} (current: {"node":"0.10.25","npm":"1.4.21"})
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^3.0.0.
npm WARN engine hawk@3.1.2: wanted: {"node":">=0.10.32"} (current: {"node":"0.10.25","npm":"1.4.21"})

> spawn-sync@1.0.13 postinstall /sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/cross-spawn/node_modules/spawn-sync
> node postinstall

sh: 1: node: not found
npm WARN This failure might be due to the use of legacy binary "node"
npm WARN For further explanations, please read
/usr/share/doc/nodejs/README.Debian

npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/request/node_modules/hawk/test'
npm ERR! error rolling back  node-sass@3.4.2 { [Error: ENOTEMPTY, rmdir '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/request/node_modules/hawk/test']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/request/node_modules/hawk/test' }
npm ERR! Error: ENOENT, open '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/node-gyp/gyp/pylib/gyp/__init__.py'
npm ERR! If you need help, you may report this *entire* log,
npm ERR! including the npm and node versions, at:
npm ERR!     <http://github.com/npm/npm/issues>

npm ERR! System Linux 4.2.0-18-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /sites/all/themes/mytheme
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! path /sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules/node-gyp/gyp/pylib/gyp/__init__.py
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! tar.unpack untar error /home/user/.npm/is-my-json-valid/2.12.3/package.tgz
npm ERR! tar.unpack untar error /home/user/.npm/sshpk/1.7.1/package.tgz
npm ERR! tar.unpack untar error /home/user/.npm/hawk/3.1.2/package.tgz
npm ERR! error rolling back Error: ENOTEMPTY, rmdir '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules'
npm ERR! error rolling back  gulp-sass@2.1.0 { [Error: ENOTEMPTY, rmdir '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules']
npm ERR! error rolling back   errno: 53,
npm ERR! error rolling back   code: 'ENOTEMPTY',
npm ERR! error rolling back   path: '/sites/all/themes/mytheme/node_modules/gulp-sass/node_modules/node-sass/node_modules' }
npm ERR! spawn-sync@1.0.13 postinstall: `node postinstall`
npm ERR! Exit status 127
npm ERR!
npm ERR! Failed at the spawn-sync@1.0.13 postinstall script.
npm ERR! This is most likely a problem with the spawn-sync package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node postinstall
npm ERR! You can get their info via:
npm ERR!     npm owner ls spawn-sync
npm ERR! There is likely additional logging output above.

npm ERR! System Linux 4.2.0-18-generic
npm ERR! command "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! cwd /sites/all/themes/mytheme
npm ERR! node -v v0.10.25
npm ERR! npm -v 1.4.21
npm ERR! code ELIFECYCLE
npm ERR! tar.unpack untar error /home/user/.npm/readable-stream/2.0.4/package.tgz
npm ERR! tar.unpack untar error /home/user/.npm/lodash/1.0.2/package.tgz
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /sites/all/themes/mytheme/npm-debug.log
npm ERR! not ok code 0

Any idea what's going wrong here?
Is a newer version of npm than 1.4.21 required?
If so should it be stated somewhere, perhaps with install instructions?

Test server is running Ubuntu 15.10

MustangGB’s picture

Status: Fixed » Needs work

After installing bundler and updating nodejs(/node/npm) binaries from https://github.com/nodesource/distributions it look like the "npm install" has now worked.

Also rather than having to alias "npm bin" why not just add a script entry for gulp so we can just use "npm run gulp" instead?

I'm also seeing some strange things when "watching", like the css appearing broken in the browser after starting to watch but before editing any scss files, and some changes pulling through fine (changing body colour to red) but other changes not pulling through (changing body colour to blue), so I just want to confirm that my setup should be working before posting any issues, right?

JohnAlbin’s picture

Thanks for testing the docs!

Yeah, I noticed that watch issue last night. #2627716: gulp watch task breaks CSS before they are edited

Also rather than having to alias "npm bin" why not just add a script entry for gulp so we can just use "npm run gulp" instead?

Never tried that before. Hmmm… looks like that is one of the less-popular solutions to the same problem. http://stackoverflow.com/questions/9679932/how-to-use-package-installed-...

The npm-exec alias is the top answer to that question. Probably because it works for any node.js binary.

MustangGB’s picture

Never tried that before. Hmmm… looks like that is one of the less-popular solutions to the same problem.

Yea my reasoning was basically the same as that jpoveda chap that replied to the answer you linked. Install and go is much less of a faff than install, mess about configuring things locally, re-sourceing, etc.

JohnAlbin’s picture

Ok. I'll consider it for a bit. Then probably do it.

skyredwang’s picture

I thought scss-lint is for Ruby and Compass while sass-lint is for Node. No?

MustangGB’s picture

@skyredwang
I believe sass-lint is still the plan, but it isn't ready for primetime yet, see https://github.com/sasstools/sass-lint/issues/305 and #2595997: Replace Ruby-based scss_lint with node.js-based sass-lint, so we're stuck scss_lint and Ruby for now.

skyredwang’s picture

@MustangGB, Thanks for the information. I will just not/disable lint until sass-lint becomes ready. Easier than maintaining both Ruby stack and Node stack. Maybe this is good for people new to Node centric front end dev.

skyredwang’s picture

I feel the front-end development build tools required for Zen 6.x are quite a lot, which I don't feel comfortable to install them on my laptop. Also, installing that many things is not easy for training.

I am going to write a Docker image for this. One command should be able to solve all this. And it should work for all OS.

skyredwang’s picture

The command below will take care all the installation

1. Go to the subtheme folder

2. docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app node npm install

The command below will do the gulp watch

1. Go to the subtheme folder

2. docker run -it --rm -v "$PWD":/usr/src/app -w /usr/src/app node ./node_modules/.bin/gulp watch

skyredwang’s picture

It might be cool, if we can let gulp to serve the style guide and do live reload?

The code below is the just demoing the idea, based on Polymer Starter Kit gulpfile.js

// Watch files for changes & reload
gulp.task('serve', ['lint', 'styles', 'elements', 'images'], function() {
  browserSync({
    port: 5000,
    notify: false,
    logPrefix: 'KSS',
    snippetOptions: {
      rule: {
        match: '<span id="browser-sync-binding"></span>',
        fn: function(snippet) {
          return snippet;
        }
      }
    },
    server: {
      baseDir: ['.tmp', 'styleguide'],
      middleware: [historyApiFallback()],
      routes: {
        '/bower_components': 'bower_components'
      }
    }
  });

  gulp.watch(['styleguide/**/*.html'], reload);
  gulp.watch(['styleguide/styles/**/*.css'], ['styles', reload]);
  gulp.watch(['styleguide/elements/**/*.css'], ['elements', reload]);
  gulp.watch(['styleguide/{scripts,elements}/**/{*.js,*.html}'], ['lint']);
  gulp.watch(['styleguide/images/**/*'], reload);
});

Then, one more docker command, we will be able to see the styleguide site:

docker run -it --rm --name zen-dev -v "$PWD":/usr/src/app -w /usr/src/app -p 80:5000 node ./node_modules/.bin/gulp serve

Just open a browser and go to http://localhost

JohnAlbin’s picture

> It might be cool, if we can let gulp to serve the style guide and do live reload?

The new gulp watch does live reload of the styles on the Drupal site itself, which (since the theme is inside the Drupal file structure) can include the style guide.

See #2624172: Add browser-sync gulp task

codemann’s picture

We're having problems trying to get the latest 7.x-6.x-dev installed.

I tried to gather as much information as possible, hopefully someone can push us in the right direction.
This is all done from a development server in our datacenter.

Some version information :

# uname -a
Linux [HOSTNAME] 3.9.5-301.fc19.x86_64 #1 SMP Tue Jun 11 19:39:38 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

# node -v
v5.2.0

# npm -v
3.5.2

# bundler -v
Bundler version 1.7.3

# ruby -v
ruby 2.0.0p353 (2013-11-22 revision 43784) [x86_64-linux]

I install a sub-theme with drush and cleared the cache.
After that I check with bundle if everything is up-to-date :

# bundle install
Fetching gem metadata from https://rubygems.org/..............
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies...
Using rainbow 2.0.0
Using sass 3.4.20
Using scss_lint 0.43.2
Using bundler 1.7.3
Your bundle is updated!

Then I run npm install from withing my sub-theme.
There were some (deprecated) warnings when running this, so I ran it a second time and got :

npm WARN lifecycle zen-subtheme@1.0.0~postinstall: cannot run in wd %s %s (wd=%s) zen-subtheme@1.0.0 find node_modules/ -name '*.info' -type f -delete; bundle install; npm shrinkwrap --dev [FOLDER-TO-THEME]
npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.6

The fsevents warning seems to be normal for a Linux system?
The first warning I will run manually :

# find node_modules/ -name '*.info' -type f -delete; bundle install; npm shrinkwrap --dev [FOLDER-TO-THEME]

Then I tried running gulp watch :

# gulp watch
[13:28:35] Using gulpfile [FOLDER-TO-THEME]/gulpfile.js
[13:28:35] Starting 'clean:css'...
[13:28:35] Starting 'clean:styleguide'...
[13:28:35] Starting 'styleguide:chroma-kss-markup'...
[13:28:35] Starting 'lint:sass'...
[13:28:35] Starting 'lint:js'...
[13:28:35] Finished 'clean:css' after 446 ms
[13:28:35] Starting 'styles'...
[13:28:35] Finished 'clean:styleguide' after 693 ms
[13:28:36] Finished 'lint:js' after 856 ms
[13:28:36] Starting 'watch:js'...
[13:28:36] Finished 'watch:js' after 17 ms
[13:28:36] chroma-kss-markup.hbs 17.46 kB
[13:28:36] Finished 'styleguide:chroma-kss-markup' after 1.54 s
[13:28:36] Starting 'styleguide'...
events.js:142
      throw er; // Unhandled 'error' event
      ^

Error: spawn kss-node ENOENT
    at exports._errnoException (util.js:856:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:179:32)
    at onErrorNT (internal/child_process.js:345:16)
    at nextTickCallbackWith2Args (node.js:455:9)
    at process._tickCallback (node.js:369:17)

This refers to line 161 in gulpfile.js, but no idea why this errors :

gulp.task('styleguide', ['clean:styleguide', 'styleguide:chroma-kss-markup'], function(cb) {
  var cmd = spawn('kss-node', flags, {stdio: 'inherit'});
  return cmd.on('close', cb);
});

I also tried running it with npm-exec :

# npm-exec gulp watch
module.js:424
  return process.dlopen(module, path._makeLong(filename));
                 ^

Error: Module did not self-register.
    at Error (native)
    at Object.Module._extensions..node (module.js:424:18)
    at Module.load (module.js:345:32)
    at Function.Module._load (module.js:302:12)
    at Module.require (module.js:355:17)
    at require (internal/module.js:13:17)
    at Object.<anonymous> (/usr/lib/node_modules/npm-exec/node_modules/pty.js/lib/pty.js:9:11)
    at Module._compile (module.js:399:26)
    at Object.Module._extensions..js (module.js:406:10)
    at Module.load (module.js:345:32)

And with bundle :

# bundle exec gulp watch
[13:29:56] Using gulpfile [FOLDER-TO-THEME]/gulpfile.js
[13:29:56] Starting 'clean:css'...
[13:29:56] Starting 'clean:styleguide'...
[13:29:56] Starting 'styleguide:chroma-kss-markup'...
[13:29:56] Starting 'lint:sass'...
[13:29:57] Starting 'lint:js'...
[13:29:57] Finished 'clean:css' after 463 ms
[13:29:57] Starting 'styles'...
[13:29:57] Finished 'clean:styleguide' after 726 ms
[13:29:58] Finished 'lint:js' after 956 ms
[13:29:58] Starting 'watch:js'...
[13:29:58] Finished 'watch:js' after 17 ms
[13:29:58] 'lint:sass' errored after 1.62 s
[13:29:58] Error in plugin 'gulp-scss-lint'
Message:
    Error code 1
Error: Command failed: /bin/sh -c bundle exec scss-lint 'sass/_init.scss' 'sass/styles.scss' 'sass/base/_fonts.scss' 'sass/base/_html5.scss' 'sass/base/_normalize.scss' 'sass/base/_root.scss' 'sass/init/_colors.scss' 'sass/init/_variables.scss' 'sass/style-guide/chroma-kss-markup.scss' 'sass/style-guide/chroma-kss-styles.scss' 'sass/style-guide/kss-only.scss' 'sass/base/embedded/_embedded.scss' 'sass/base/forms/_forms.scss' 'sass/base/grouping/_grouping.scss' 'sass/base/headings/_headings.scss' 'sass/base/links/_links.scss' 'sass/base/tables/_tables.scss' 'sass/base/text/_text.scss' 'sass/components/autocomplete/_autocomplete.scss' 'sass/components/box/_box.scss' 'sass/components/breadcrumb/_breadcrumb.scss' 'sass/components/button/_button.scss' 'sass/components/clearfix/_clearfix.scss' 'sass/components/collapsible-fieldset/_collapsible-fieldset.scss' 'sass/components/comment/_comment.scss' 'sass/components/divider/_divider.scss' 'sass/components/form-item/_form-item.scss' 'sass/components/form-table/_form-table.scss' 'sass/components/header/_header.scss' 'sass/components/hidden/_hidden.scss' 'sass/components/highlight-mark/_highlight-mark.scss' 'sass/components/inline-links/_inline-links.scss' 'sass/components/inline-sibling/_inline-sibling.scss' 'sass/components/messages/_messages.scss' 'sass/components/more-link/_more-link.scss' 'sass/components/nav-menu/_nav-menu.scss' 'sass/components/navbar/_navbar.scss' 'sass/components/pager/_pager.scss' 'sass/components/print-none/_print-none.scss' 'sass/components/progress-bar/_progress-bar.scss' 'sass/components/progress-throbber/_progress-throbber.scss' 'sass/components/resizable-textarea/_resizable-textarea.scss' 'sass/components/responsive-video/_responsive-video.scss' 'sass/components/skip-link/_skip-link.scss' 'sass/components/table-drag/_table-drag.scss' 'sass/components/tabs/_tabs.scss' 'sass/components/visually-hidden/_visually-hidden.scss' 'sass/components/watermark/_watermark.scss' 'sass/components/wireframe/_wireframe.scss' 'sass/init/clearfix/_clearfix.scss' 'sass/init/image-url/_image-url.scss' 'sass/init/rtl/_rtl.scss' 'sass/init/visually-hidden/_visually-hidden.scss' 'sass/layouts/layout-3col/_layout-3col.scss' 'sass/layouts/layout-center/_layout-center.scss' 'sass/layouts/layout-swap/_layout-swap.scss' --config=[FOLDER-TO-THEME].scss-lint.yml --format=JSON
/usr/share/gems/gems/bundler-1.7.3/lib/bundler/vendored_thor.rb:7:in `require': cannot load such file -- thor (LoadError)
        from /usr/share/gems/gems/bundler-1.7.3/lib/bundler/vendored_thor.rb:7:in `<top (required)>'
        from /usr/share/gems/gems/bundler-1.7.3/lib/bundler/friendly_errors.rb:1:in `require'
        from /usr/share/gems/gems/bundler-1.7.3/lib/bundler/friendly_errors.rb:1:in `<top (required)>'
        from /usr/share/gems/gems/bundler-1.7.3/bin/bundle:17:in `require'
        from /usr/share/gems/gems/bundler-1.7.3/bin/bundle:17:in `<top (required)>'
        from /usr/bin/bundle:23:in `load'
        from /usr/bin/bundle:23:in `<main>'

[13:29:58] chroma-kss-markup.hbs 17.46 kB
[13:29:58] Finished 'styleguide:chroma-kss-markup' after 1.72 s
[13:29:59] styles.css 36.02 kB
[13:29:59] style-guide/chroma-kss-styles.css 830 B
[13:29:59] style-guide/kss-only.css 91 B
[13:29:59] all files 36.94 kB
[13:29:59] Finished 'styles' after 2.23 s

  • JohnAlbin committed fcee901 on 8.x-7.x
    Issue #2567603 by JohnAlbin, tstermitz: Update installation instructions
    
JohnAlbin’s picture

> We're having problems trying to get the latest 7.x-6.x-dev installed.

I just pushed some changes to the gulpfile.js that alters the very lines you mention. You'll have to delete your node_modules folder and npm-shrinkwrap.json file and re-install:

1. npm install
2. bundle install
3. If you work with other people on this project:
a. run npm shrinkwrap --dev and commit your npm-shrinkwrap.json to Git so others on your project get the exact same versions of the node.js tools.
b. commit your Gemfile.lock file to Git so others on your project get the exact same versions of the Ruby Gem tool.

codemann’s picture

It got me a but further, but I'm still getting errors while running gulp watch

# gulp watch
[12:05:33] Using gulpfile [FOLDER-TO-THEME]/gulpfile.js
[12:05:33] Starting 'clean:css'...
[12:05:33] Starting 'clean:styleguide'...
[12:05:33] Starting 'styleguide:chroma-kss-markup'...
[12:05:33] Starting 'lint:sass'...
[12:05:33] Starting 'lint:js'...
[12:05:33] Finished 'clean:css' after 501 ms
[12:05:33] Starting 'styles'...
[12:05:34] Finished 'lint:js' after 934 ms
[12:05:34] Starting 'watch:js'...
[12:05:34] Finished 'watch:js' after 16 ms
[12:05:34] Finished 'clean:styleguide' after 1.21 s
[12:05:34] chroma-kss-markup.hbs 17.46 kB
[12:05:34] Finished 'styleguide:chroma-kss-markup' after 1.63 s
[12:05:34] Starting 'styleguide'...
Style guide generation completed successfully!
[12:05:38] Finished 'styleguide' after 3.3 s
[12:05:38] 'lint:sass' errored after 4.9 s
[12:05:38] Error in plugin 'gulp-scss-lint'
Message:
    Error code 1
Error: Command failed: /bin/sh -c bundle exec scss-lint 'sass/_init.scss' 'sass/styles.scss' 'sass/style-guide/chroma-kss-markup.scss' 'sass/style-guide/chroma-kss-styles.scss' 'sass/style-guide/kss-only.scss' 'sass/base/_fonts.scss' 'sass/base/_html5.scss' 'sass/base/_normalize.scss' 'sass/base/_root.scss' 'sass/init/_colors.scss' 'sass/init/_variables.scss' 'sass/components/autocomplete/_autocomplete.scss' 'sass/components/breadcrumb/_breadcrumb.scss' 'sass/components/clearfix/_clearfix.scss' 'sass/components/comment/_comment.scss' 'sass/components/collapsible-fieldset/_collapsible-fieldset.scss' 'sass/components/button/_button.scss' 'sass/components/divider/_divider.scss' 'sass/components/form-item/_form-item.scss' 'sass/components/header/_header.scss' 'sass/components/highlight-mark/_highlight-mark.scss' 'sass/components/box/_box.scss' 'sass/components/form-table/_form-table.scss' 'sass/components/inline-sibling/_inline-sibling.scss' 'sass/components/messages/_messages.scss' 'sass/components/nav-menu/_nav-menu.scss' 'sass/components/hidden/_hidden.scss' 'sass/components/more-link/_more-link.scss' 'sass/components/pager/_pager.scss' 'sass/components/progress-bar/_progress-bar.scss' 'sass/components/print-none/_print-none.scss' 'sass/components/progress-throbber/_progress-throbber.scss' 'sass/components/responsive-video/_responsive-video.scss' 'sass/components/resizable-textarea/_resizable-textarea.scss' 'sass/components/skip-link/_skip-link.scss' 'sass/components/table-drag/_table-drag.scss' 'sass/components/tabs/_tabs.scss' 'sass/components/visually-hidden/_visually-hidden.scss' 'sass/components/watermark/_watermark.scss' 'sass/components/wireframe/_wireframe.scss' 'sass/components/inline-links/_inline-links.scss' 'sass/base/embedded/_embedded.scss' 'sass/base/forms/_forms.scss' 'sass/base/grouping/_grouping.scss' 'sass/base/headings/_headings.scss' 'sass/components/navbar/_navbar.scss' 'sass/base/links/_links.scss' 'sass/base/tables/_tables.scss' 'sass/init/clearfix/_clearfix.scss' 'sass/init/image-url/_image-url.scss' 'sass/base/text/_text.scss' 'sass/init/visually-hidden/_visually-hidden.scss' 'sass/init/rtl/_rtl.scss' 'sass/layouts/layout-3col/_layout-3col.scss' 'sass/layouts/layout-swap/_layout-swap.scss' 'sass/layouts/layout-center/_layout-center.scss' --config=[FOLDER-TO-THEME]/.scss-lint.yml --format=JSON
/usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint/reporter/json_reporter.rb:1:in `require': cannot load such file -- json (LoadError)
        from /usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint/reporter/json_reporter.rb:1:in `<top (required)>'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint.rb:31:in `require'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint.rb:31:in `block in <top (required)>'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint.rb:30:in `each'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/lib/scss_lint.rb:30:in `<top (required)>'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/bin/scss-lint:3:in `require'
        from /usr/local/share/gems/gems/scss_lint-0.43.2/bin/scss-lint:3:in `<top (required)>'
        from /usr/local/bin/scss-lint:23:in `load'
        from /usr/local/bin/scss-lint:23:in `<main>'

[12:05:38] styles.css 36.02 kB
[12:05:38] style-guide/chroma-kss-styles.css 830 B
[12:05:39] style-guide/kss-only.css 91 B
[12:05:39] all files 36.94 kB
[12:05:39] Finished 'styles' after 5.37 s
codemann’s picture

Today I finally had some time to dig more into the whole Zen v6 thing.
What an incredible work, and I loved your "All hail the robot overlords" presentation John!

After watching that and reading a lot of stuff I'm starting understanding where you guys are going to a lot better and I was able to fix my previous issue as well. Adding this to the Gemfile fixed it for me :

gem 'json'

I'm not completely sure I understand the reason correctly, but I think it is because json is also included into ruby by default, but by adding this line you make it use the gem that you installed. Correct me if I'm wrong here, I'm trying to learn and understand it better!

skyredwang’s picture

I tested 7.x-6.x-dev packaged on Dec.28th.2015 with node 5.3.0; it works well. What else is needed in this issue?

skyredwang’s picture

Something strange in the node_module folder causes drush 8.0.1 and Apache to "segment fault". I haven't figured it what the problem is.

skyredwang’s picture

I see this line is already in package.json

"postinstall": "find node_modules/ -name '*.info' -type f -delete",

But, I have to manually delete this file:

node_modules/json3/coverage/lcov.info

Not sure why yet.

skyredwang’s picture

During the installation, I ran into the error below:

npm WARN lifecycle zen-subtheme@1.0.0~postinstall: cannot run in wd %s %s (wd=%s) zen-subtheme@1.0.0 find node_modules/ -name '*.info' -type f -delete /usr/src/app

That explains #28

arnoldbird’s picture

I'm running into something similar to #29. I'm seeing...

npm WARN package.json scss-lint@0.0.0 No repository field.
npm WARN cannot run in wd zen-subtheme@1.0.0 find node_modules/ -name '*.info' -type f -delete (wd=/var/www/global_social/ryan_code/themes/global_social)

I get the above errors when I run...
sudo npm install

If I then run...
gem list
...I see that many dependencies listed in package.json are not getting installed.

I'm following the README.txt instructions.

arnoldbird’s picture

I tried following the instructions in the issue summary, but when I run...
sudo gulp
...I get this error...

$ sudo gulp
[14:41:11] Using gulpfile /var/www/my_site/some_path/themes/my_site/gulpfile.js
[14:41:11] Starting 'clean:css'...
[14:41:11] Starting 'clean:styleguide'...
[14:41:11] Starting 'styleguide:chroma-kss-markup'...
[14:41:11] Starting 'lint:sass'...
[14:41:12] Starting 'lint:js'...
[14:41:12] Finished 'lint:js' after 561 ms
[14:41:12] Finished 'clean:css' after 891 ms
[14:41:12] Starting 'styles:production'...
[14:41:12] Finished 'clean:styleguide' after 1.15 s
[14:41:13] chroma-kss-markup.hbs 17.46 kB
[14:41:13] Finished 'styleguide:chroma-kss-markup' after 1.49 s
[14:41:13] Starting 'styleguide'...

/var/www/my_site/some_path/themes/my_site/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:157
this.processing = new Promise(function (resolve, reject) {
^
ReferenceError: Promise is not defined
at LazyResult.async (/var/www/my_site/some_path/themes/my_site/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:157:31)

arnoldbird’s picture

Similar to #10, the instructions in the issue summary do work for me once I upgrade node. I did so with...

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

I can't vouch for that being the best/safest way. Just something I found online.

skyredwang’s picture

I found the fix to my problem in #29. Now, I have written this guide, which makes the whole process very easy: https://insready.com/en/blog/containerize-zen-style-guide-driven-develop...

frob’s picture

After reading through this issues, I am not sure what all is left to do. It looks like this is the only issue left before a release of 7.x-6.x

JohnAlbin’s picture

/node_modules/postcss/lib/lazy-result.js:157
this.processing = new Promise(function (resolve, reject) {
^
ReferenceError: Promise is not defined

Oh, dang it. That means one of the modules we are using requires Node.js 4.0.0 or later. I'll have to update the package.json to drop support for Node.js 0.12.

It looks like this is the only issue left before a release of 7.x-6.x

Yep.

  • JohnAlbin committed ee89f87 on 7.x-6.x
    Issue #2567603: Remove support for Node.js 0.12.
    
JohnAlbin’s picture

@arnoldbird: You don't need to use sudo on those commands. In fact, its highly dangerous to do so, because you are letting a npm package run its code as super user on your computer.

MustangGB’s picture

I still think the docs aren't clear enough, I went through the readme again on beta1, as in #9, and got unstuck at exactly the same point.

Could it not just list everything that must be installed to get this working?

$ npm install
npm WARN deprecated graceful-fs@3.0.8: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs version 3 and before will fail on newer node releases. Please update to graceful-fs@^4.0.0 as soon as possible.
npm WARN deprecated npmconf@2.1.2: this package has been reintegrated into npm and is now out of date with respect to npm
npm WARN deprecated wrench@1.5.9: wrench.js is deprecated! You should check out fs-extra (https://github.com/jprichardson/node-fs-extra) for any operations you were using wrench for. Thanks for all the usage over the years.
npm WARN prefer global marked@0.3.5 should be installed with -g
npm WARN prefer global node-gyp@3.3.1 should be installed with -g

> node-sass@3.4.2 install /sites/all/themes/mytheme/node_modules/node-sass
> node scripts/install.js

sh: 1: node: not found
zen-subtheme@1.0.0 /sites/all/themes/mytheme
+-- breakpoint-sass@2.7.0
+-- browser-sync@2.12.3
¦ +-- browser-sync-client@2.4.2
¦ ¦ +-- etag@1.7.0
¦ ¦ +-- fresh@0.3.0
¦ +-- browser-sync-ui@0.5.19
¦ ¦ +-- async-each-series@0.1.1
¦ ¦ +-- connect-history-api-fallback@1.2.0
¦ ¦ +-- stream-throttle@0.1.3
¦ ¦ ¦ +-- commander@2.9.0
¦ ¦ ¦ ¦ +-- graceful-readlink@1.0.1
¦ ¦ ¦ +-- limiter@1.1.0
¦ ¦ +-- weinre@2.0.0-pre-I0Z7U9OV
¦ ¦   +-- express@2.5.11
¦ ¦   ¦ +-- connect@1.9.2
¦ ¦   ¦ ¦ +-- formidable@1.0.17
¦ ¦   ¦ +-- mime@1.2.4
¦ ¦   ¦ +-- mkdirp@0.3.0
¦ ¦   ¦ +-- qs@0.4.2
¦ ¦   +-- nopt@3.0.6
¦ ¦     +-- abbrev@1.0.7
¦ +-- bs-recipes@1.2.2
¦ +-- chokidar@1.4.3
¦ ¦ +-- anymatch@1.3.0
¦ ¦ +-- async-each@1.0.0
¦ ¦ +-- glob-parent@2.0.0
¦ ¦ +-- inherits@2.0.1
¦ ¦ +-- is-binary-path@1.0.1
¦ ¦ ¦ +-- binary-extensions@1.4.0
¦ ¦ +-- is-glob@2.0.1
¦ ¦ +-- readdirp@2.0.0
¦ +-- connect@3.4.1
¦ ¦ +-- finalhandler@0.4.1
¦ ¦ ¦ +-- on-finished@2.3.0
¦ ¦ ¦ ¦ +-- ee-first@1.1.1
¦ ¦ ¦ +-- unpipe@1.0.0
¦ ¦ +-- parseurl@1.3.1
¦ ¦ +-- utils-merge@1.0.0
¦ +-- dev-ip@1.0.1
¦ +-- easy-extender@2.3.2
¦ ¦ +-- lodash@3.10.1
¦ +-- eazy-logger@2.1.3
¦ ¦ +-- lodash.clonedeep@4.3.1
¦ ¦ ¦ +-- lodash._baseclone@4.5.6
¦ ¦ +-- opt-merger@1.1.1
¦ ¦ ¦ +-- lodash@3.10.1
¦ ¦ +-- tfunk@3.0.2
¦ ¦   +-- object-path@0.9.2
¦ +-- emitter-steward@1.0.0
¦ +-- fs-extra@0.26.7
¦ ¦ +-- jsonfile@2.3.0
¦ ¦ +-- klaw@1.2.0
¦ +-- http-proxy@1.13.2
¦ ¦ +-- eventemitter3@1.2.0
¦ ¦ +-- requires-port@1.0.0
¦ +-- immutable@3.7.6
¦ +-- localtunnel@1.8.1
¦ ¦ +-- openurl@1.1.0
¦ ¦ +-- request@2.65.0
¦ ¦ ¦ +-- aws-sign2@0.6.0
¦ ¦ ¦ +-- bl@1.0.3
¦ ¦ ¦ ¦ +-- readable-stream@2.0.6
¦ ¦ ¦ ¦   +-- isarray@1.0.0
¦ ¦ ¦ +-- caseless@0.11.0
¦ ¦ ¦ +-- combined-stream@1.0.5
¦ ¦ ¦ ¦ +-- delayed-stream@1.0.0
¦ ¦ ¦ +-- extend@3.0.0
¦ ¦ ¦ +-- forever-agent@0.6.1
¦ ¦ ¦ +-- form-data@1.0.0-rc4
¦ ¦ ¦ +-- har-validator@2.0.6
¦ ¦ ¦ +-- hawk@3.1.3
¦ ¦ ¦ ¦ +-- boom@2.10.1
¦ ¦ ¦ ¦ +-- cryptiles@2.0.5
¦ ¦ ¦ ¦ +-- hoek@2.16.3
¦ ¦ ¦ ¦ +-- sntp@1.0.9
¦ ¦ ¦ +-- http-signature@0.11.0
¦ ¦ ¦ ¦ +-- asn1@0.1.11
¦ ¦ ¦ ¦ +-- assert-plus@0.1.5
¦ ¦ ¦ ¦ +-- ctype@0.5.3
¦ ¦ ¦ +-- isstream@0.1.2
¦ ¦ ¦ +-- json-stringify-safe@5.0.1
¦ ¦ ¦ +-- node-uuid@1.4.7
¦ ¦ ¦ +-- oauth-sign@0.8.1
¦ ¦ ¦ +-- qs@5.2.0
¦ ¦ ¦ +-- stringstream@0.0.5
¦ ¦ ¦ +-- tough-cookie@2.2.2
¦ ¦ ¦ +-- tunnel-agent@0.4.2
¦ ¦ +-- yargs@3.29.0
¦ ¦   +-- camelcase@1.2.1
¦ +-- lodash@4.10.0
¦ +-- micromatch@2.3.7
¦ ¦ +-- arr-diff@2.0.0
¦ ¦ ¦ +-- arr-flatten@1.0.1
¦ ¦ +-- array-unique@0.2.1
¦ ¦ +-- braces@1.8.4
¦ ¦ ¦ +-- expand-range@1.8.1
¦ ¦ ¦ ¦ +-- fill-range@2.2.3
¦ ¦ ¦ ¦   +-- is-number@2.1.0
¦ ¦ ¦ ¦   +-- isobject@2.0.0
¦ ¦ ¦ ¦   +-- randomatic@1.1.5
¦ ¦ ¦ ¦   +-- repeat-string@1.5.4
¦ ¦ ¦ +-- preserve@0.2.0
¦ ¦ ¦ +-- repeat-element@1.1.2
¦ ¦ +-- expand-brackets@0.1.5
¦ ¦ ¦ +-- is-posix-bracket@0.1.1
¦ ¦ +-- extglob@0.3.2
¦ ¦ +-- filename-regex@2.0.0
¦ ¦ +-- is-extglob@1.0.0
¦ ¦ +-- kind-of@3.0.2
¦ ¦ ¦ +-- is-buffer@1.1.3
¦ ¦ +-- normalize-path@2.0.1
¦ ¦ +-- object.omit@2.0.0
¦ ¦ ¦ +-- for-own@0.1.4
¦ ¦ ¦ ¦ +-- for-in@0.1.5
¦ ¦ ¦ +-- is-extendable@0.1.1
¦ ¦ +-- parse-glob@3.0.4
¦ ¦ ¦ +-- glob-base@0.3.0
¦ ¦ ¦ +-- is-dotfile@1.0.2
¦ ¦ +-- regex-cache@0.4.3
¦ ¦   +-- is-equal-shallow@0.1.3
¦ ¦   +-- is-primitive@2.0.0
¦ +-- opn@3.0.3
¦ +-- portscanner@1.0.0
¦ ¦ +-- async@0.1.15
¦ +-- qs@6.1.0
¦ +-- resp-modifier@6.0.0
¦ ¦ +-- minimatch@2.0.10
¦ +-- serve-index@1.7.3
¦ ¦ +-- accepts@1.2.13
¦ ¦ ¦ +-- negotiator@0.5.3
¦ ¦ +-- batch@0.5.3
¦ ¦ +-- escape-html@1.0.3
¦ ¦ +-- http-errors@1.3.1
¦ ¦ ¦ +-- statuses@1.2.1
¦ ¦ +-- mime-types@2.1.10
¦ ¦   +-- mime-db@1.22.0
¦ +-- serve-static@1.10.2
¦ ¦ +-- send@0.13.1
¦ ¦   +-- depd@1.1.0
¦ ¦   +-- destroy@1.0.4
¦ ¦   +-- mime@1.3.4
¦ ¦   +-- range-parser@1.0.3
¦ +-- socket.io@1.4.5
¦ ¦ +-- engine.io@1.6.8
¦ ¦ ¦ +-- accepts@1.1.4
¦ ¦ ¦ ¦ +-- mime-types@2.0.14
¦ ¦ ¦ ¦ ¦ +-- mime-db@1.12.0
¦ ¦ ¦ ¦ +-- negotiator@0.4.9
¦ ¦ ¦ +-- base64id@0.1.0
¦ ¦ ¦ +-- engine.io-parser@1.2.4
¦ ¦ ¦ ¦ +-- after@0.8.1
¦ ¦ ¦ ¦ +-- arraybuffer.slice@0.0.6
¦ ¦ ¦ ¦ +-- base64-arraybuffer@0.1.2
¦ ¦ ¦ ¦ +-- blob@0.0.4
¦ ¦ ¦ ¦ +-- has-binary@0.1.6
¦ ¦ ¦ ¦ +-- utf8@2.1.0
¦ ¦ ¦ +-- ws@1.0.1
¦ ¦ ¦   +-- options@0.0.6
¦ ¦ ¦   +-- ultron@1.0.2
¦ ¦ +-- has-binary@0.1.7
¦ ¦ +-- socket.io-adapter@0.4.0
¦ ¦ ¦ +-- socket.io-parser@2.2.2
¦ ¦ ¦   +-- debug@0.7.4
¦ ¦ ¦   +-- json3@3.2.6
¦ ¦ +-- socket.io-client@1.4.5
¦ ¦ ¦ +-- backo2@1.0.2
¦ ¦ ¦ +-- component-bind@1.0.0
¦ ¦ ¦ +-- component-emitter@1.2.0
¦ ¦ ¦ +-- engine.io-client@1.6.8
¦ ¦ ¦ ¦ +-- component-inherit@0.0.3
¦ ¦ ¦ ¦ +-- has-cors@1.1.0
¦ ¦ ¦ ¦ +-- parsejson@0.0.1
¦ ¦ ¦ ¦ +-- parseqs@0.0.2
¦ ¦ ¦ ¦ +-- xmlhttprequest-ssl@1.5.1
¦ ¦ ¦ ¦ +-- yeast@0.1.2
¦ ¦ ¦ +-- indexof@0.0.1
¦ ¦ ¦ +-- object-component@0.0.3
¦ ¦ ¦ +-- parseuri@0.0.4
¦ ¦ ¦ ¦ +-- better-assert@1.0.2
¦ ¦ ¦ ¦   +-- callsite@1.0.0
¦ ¦ ¦ +-- to-array@0.1.4
¦ ¦ +-- socket.io-parser@2.2.6
¦ ¦   +-- benchmark@1.0.0
¦ ¦   +-- component-emitter@1.1.2
¦ ¦   +-- json3@3.3.2
¦ +-- ua-parser-js@0.7.10
¦ +-- ucfirst@1.0.0
¦ +-- yargs@4.4.0
¦   +-- camelcase@2.1.1
¦   +-- decamelize@1.2.0
¦   +-- lodash.assign@4.0.8
¦   ¦ +-- lodash.keys@4.0.6
¦   ¦ +-- lodash.rest@4.0.2
¦   +-- pkg-conf@1.1.2
¦   ¦ +-- find-up@1.1.2
¦   ¦ ¦ +-- path-exists@2.1.0
¦   ¦ +-- load-json-file@1.1.0
¦   ¦ ¦ +-- parse-json@2.2.0
¦   ¦ ¦   +-- error-ex@1.3.0
¦   ¦ ¦     +-- is-arrayish@0.2.1
¦   ¦ +-- symbol@0.2.1
¦   +-- read-pkg-up@1.0.1
¦   ¦ +-- read-pkg@1.1.0
¦   ¦   +-- normalize-package-data@2.3.5
¦   ¦   ¦ +-- hosted-git-info@2.1.4
¦   ¦   ¦ +-- is-builtin-module@1.0.0
¦   ¦   ¦ ¦ +-- builtin-modules@1.1.1
¦   ¦   ¦ +-- semver@5.1.0
¦   ¦   ¦ +-- validate-npm-package-license@3.0.1
¦   ¦   ¦   +-- spdx-correct@1.0.2
¦   ¦   ¦   ¦ +-- spdx-license-ids@1.2.1
¦   ¦   ¦   +-- spdx-expression-parse@1.0.2
¦   ¦   ¦     +-- spdx-exceptions@1.0.4
¦   ¦   +-- path-type@1.1.0
¦   +-- require-main-filename@1.0.1
¦   +-- string-width@1.0.1
¦   ¦ +-- code-point-at@1.0.0
¦   ¦ +-- is-fullwidth-code-point@1.0.0
¦   +-- window-size@0.2.0
¦   +-- yargs-parser@2.4.0
¦     +-- camelcase@2.1.1
+-- chroma-sass@1.2.3
+-- del@2.2.0
¦ +-- globby@4.0.0
¦ ¦ +-- array-union@1.0.1
¦ ¦ +-- arrify@1.0.1
¦ ¦ +-- glob@6.0.4
¦ +-- is-path-cwd@1.0.0
¦ +-- is-path-in-cwd@1.0.0
¦ ¦ +-- is-path-inside@1.0.0
¦ +-- object-assign@4.0.1
¦ +-- pify@2.3.0
¦ +-- pinkie-promise@2.0.1
¦ ¦ +-- pinkie@2.0.4
¦ +-- rimraf@2.5.2
¦   +-- glob@7.0.3
+-- eslint@1.10.3
¦ +-- chalk@1.1.3
¦ ¦ +-- ansi-styles@2.2.1
¦ ¦ +-- has-ansi@2.0.0
¦ ¦ +-- strip-ansi@3.0.1
¦ ¦ +-- supports-color@2.0.0
¦ +-- concat-stream@1.5.1
¦ ¦ +-- readable-stream@2.0.6
¦ ¦ ¦ +-- isarray@1.0.0
¦ ¦ +-- typedarray@0.0.6
¦ +-- debug@2.2.0
¦ ¦ +-- ms@0.7.1
¦ +-- doctrine@0.7.2
¦ ¦ +-- esutils@1.1.6
¦ ¦ +-- isarray@0.0.1
¦ +-- escape-string-regexp@1.0.5
¦ +-- escope@3.6.0
¦ ¦ +-- es6-map@0.1.3
¦ ¦ ¦ +-- d@0.1.1
¦ ¦ ¦ +-- es5-ext@0.10.11
¦ ¦ ¦ +-- es6-iterator@2.0.0
¦ ¦ ¦ +-- es6-set@0.1.4
¦ ¦ ¦ +-- es6-symbol@3.0.2
¦ ¦ ¦ +-- event-emitter@0.3.4
¦ ¦ +-- es6-weak-map@2.0.1
¦ ¦ +-- esrecurse@4.1.0
¦ ¦   +-- estraverse@4.1.1
¦ +-- espree@2.2.5
¦ +-- estraverse@4.2.0
¦ +-- estraverse-fb@1.3.1
¦ +-- esutils@2.0.2
¦ +-- file-entry-cache@1.2.4
¦ ¦ +-- flat-cache@1.0.10
¦ ¦   +-- read-json-sync@1.1.1
¦ ¦   +-- write@0.2.1
¦ ¦     +-- mkdirp@0.5.1
¦ ¦       +-- minimist@0.0.8
¦ +-- glob@5.0.15
¦ ¦ +-- once@1.3.3
¦ ¦   +-- wrappy@1.0.1
¦ +-- globals@8.18.0
¦ +-- handlebars@4.0.5
¦ ¦ +-- async@1.5.2
¦ ¦ +-- optimist@0.6.1
¦ ¦ ¦ +-- minimist@0.0.10
¦ ¦ +-- source-map@0.4.4
¦ ¦ ¦ +-- amdefine@1.0.0
¦ ¦ +-- uglify-js@2.6.2
¦ ¦   +-- async@0.2.10
¦ ¦   +-- uglify-to-browserify@1.0.2
¦ ¦   +-- yargs@3.10.0
¦ ¦     +-- cliui@2.1.0
¦ ¦     ¦ +-- center-align@0.1.3
¦ ¦     ¦ ¦ +-- align-text@0.1.4
¦ ¦     ¦ ¦ ¦ +-- longest@1.0.1
¦ ¦     ¦ ¦ +-- lazy-cache@1.0.3
¦ ¦     ¦ +-- right-align@0.1.3
¦ ¦     ¦ +-- wordwrap@0.0.2
¦ ¦     +-- window-size@0.1.0
¦ +-- inquirer@0.11.4
¦ ¦ +-- ansi-escapes@1.4.0
¦ ¦ +-- ansi-regex@2.0.0
¦ ¦ +-- cli-cursor@1.0.2
¦ ¦ ¦ +-- restore-cursor@1.0.1
¦ ¦ ¦   +-- exit-hook@1.1.1
¦ ¦ ¦   +-- onetime@1.1.0
¦ ¦ +-- cli-width@1.1.1
¦ ¦ +-- figures@1.5.0
¦ ¦ +-- lodash@3.10.1
¦ ¦ +-- readline2@1.0.1
¦ ¦ ¦ +-- mute-stream@0.0.5
¦ ¦ +-- run-async@0.1.0
¦ ¦ +-- rx-lite@3.1.2
¦ ¦ +-- through@2.3.8
¦ +-- is-my-json-valid@2.13.1
¦ ¦ +-- generate-function@2.0.0
¦ ¦ +-- generate-object-property@1.2.0
¦ ¦ ¦ +-- is-property@1.0.2
¦ ¦ +-- jsonpointer@2.0.0
¦ ¦ +-- xtend@4.0.1
¦ +-- is-resolvable@1.0.0
¦ ¦ +-- tryit@1.0.2
¦ +-- js-yaml@3.4.5
¦ ¦ +-- argparse@1.0.7
¦ ¦ ¦ +-- sprintf-js@1.0.3
¦ ¦ +-- esprima@2.7.2
¦ +-- json-stable-stringify@1.0.1
¦ ¦ +-- jsonify@0.0.0
¦ +-- lodash.clonedeep@3.0.2
¦ ¦ +-- lodash._baseclone@3.3.0
¦ ¦ ¦ +-- lodash._baseassign@3.2.0
¦ ¦ ¦ ¦ +-- lodash.keys@3.1.2
¦ ¦ ¦ +-- lodash._basefor@3.0.3
¦ ¦ ¦ +-- lodash.keys@3.1.2
¦ ¦ +-- lodash._bindcallback@3.0.1
¦ +-- lodash.merge@3.3.2
¦ ¦ +-- lodash._arraycopy@3.0.0
¦ ¦ +-- lodash._arrayeach@3.0.0
¦ ¦ +-- lodash._createassigner@3.1.1
¦ ¦ ¦ +-- lodash._isiterateecall@3.0.9
¦ ¦ +-- lodash._getnative@3.9.1
¦ ¦ +-- lodash.isarguments@3.0.8
¦ ¦ +-- lodash.isarray@3.0.4
¦ ¦ +-- lodash.isplainobject@3.2.0
¦ ¦ +-- lodash.istypedarray@3.0.6
¦ ¦ +-- lodash.keys@3.1.2
¦ ¦ +-- lodash.keysin@3.0.8
¦ ¦ +-- lodash.toplainobject@3.0.0
¦ ¦   +-- lodash._basecopy@3.0.1
¦ +-- lodash.omit@3.1.0
¦ ¦ +-- lodash._arraymap@3.0.0
¦ ¦ +-- lodash._basedifference@3.0.3
¦ ¦ ¦ +-- lodash._baseindexof@3.1.0
¦ ¦ ¦ +-- lodash._cacheindexof@3.0.2
¦ ¦ ¦ +-- lodash._createcache@3.1.2
¦ ¦ +-- lodash._baseflatten@3.1.4
¦ ¦ +-- lodash._pickbyarray@3.0.2
¦ ¦ +-- lodash._pickbycallback@3.0.0
¦ ¦ +-- lodash.restparam@3.6.1
¦ +-- minimatch@3.0.0
¦ +-- mkdirp@0.5.1
¦ ¦ +-- minimist@0.0.8
¦ +-- optionator@0.6.0
¦ ¦ +-- deep-is@0.1.3
¦ ¦ +-- fast-levenshtein@1.0.7
¦ ¦ +-- levn@0.2.5
¦ ¦ +-- prelude-ls@1.1.2
¦ ¦ +-- type-check@0.3.2
¦ ¦ +-- wordwrap@0.0.3
¦ +-- path-is-absolute@1.0.0
¦ +-- path-is-inside@1.0.1
¦ +-- shelljs@0.5.3
¦ +-- strip-json-comments@1.0.4
¦ +-- text-table@0.2.0
¦ +-- user-home@2.0.0
¦ ¦ +-- os-homedir@1.0.1
¦ +-- xml-escape@1.0.0
+-- gulp@3.9.1
¦ +-- archy@1.0.0
¦ +-- deprecated@0.0.1
¦ +-- gulp-util@3.0.7
¦ ¦ +-- array-differ@1.0.0
¦ ¦ +-- array-uniq@1.0.2
¦ ¦ +-- beeper@1.1.0
¦ ¦ +-- dateformat@1.0.12
¦ ¦ ¦ +-- get-stdin@4.0.1
¦ ¦ ¦ +-- meow@3.7.0
¦ ¦ ¦   +-- camelcase-keys@2.1.0
¦ ¦ ¦   ¦ +-- camelcase@2.1.1
¦ ¦ ¦   +-- loud-rejection@1.3.0
¦ ¦ ¦   ¦ +-- array-find-index@1.0.1
¦ ¦ ¦   ¦ +-- signal-exit@2.1.2
¦ ¦ ¦   +-- map-obj@1.0.1
¦ ¦ ¦   +-- redent@1.0.0
¦ ¦ ¦   ¦ +-- indent-string@2.1.0
¦ ¦ ¦   ¦ ¦ +-- repeating@2.0.1
¦ ¦ ¦   ¦ ¦   +-- is-finite@1.0.1
¦ ¦ ¦   ¦ +-- strip-indent@1.0.1
¦ ¦ ¦   +-- trim-newlines@1.0.0
¦ ¦ +-- fancy-log@1.2.0
¦ ¦ ¦ +-- time-stamp@1.0.1
¦ ¦ +-- gulplog@1.0.0
¦ ¦ ¦ +-- glogg@1.0.0
¦ ¦ +-- has-gulplog@0.1.0
¦ ¦ ¦ +-- sparkles@1.0.0
¦ ¦ +-- lodash._reescape@3.0.0
¦ ¦ +-- lodash._reevaluate@3.0.0
¦ ¦ +-- lodash._reinterpolate@3.0.0
¦ ¦ +-- lodash.template@3.6.2
¦ ¦ ¦ +-- lodash._basetostring@3.0.1
¦ ¦ ¦ +-- lodash._basevalues@3.0.0
¦ ¦ ¦ +-- lodash.escape@3.2.0
¦ ¦ ¦ ¦ +-- lodash._root@3.0.1
¦ ¦ ¦ +-- lodash.keys@3.1.2
¦ ¦ ¦ +-- lodash.templatesettings@3.1.1
¦ ¦ +-- multipipe@0.1.2
¦ ¦ ¦ +-- duplexer2@0.0.2
¦ ¦ ¦   +-- readable-stream@1.1.14
¦ ¦ +-- object-assign@3.0.0
¦ ¦ +-- replace-ext@0.0.1
¦ ¦ +-- through2@2.0.1
¦ ¦   +-- readable-stream@2.0.6
¦ ¦     +-- isarray@1.0.0
¦ +-- interpret@1.0.0
¦ +-- liftoff@2.2.1
¦ ¦ +-- extend@2.0.1
¦ ¦ +-- findup-sync@0.3.0
¦ ¦ ¦ +-- glob@5.0.15
¦ ¦ +-- flagged-respawn@0.3.2
¦ ¦ +-- rechoir@0.6.2
¦ +-- minimist@1.2.0
¦ +-- orchestrator@0.3.7
¦ ¦ +-- end-of-stream@0.1.5
¦ ¦ +-- sequencify@0.0.7
¦ ¦ +-- stream-consume@0.1.0
¦ +-- pretty-hrtime@1.0.2
¦ +-- semver@4.3.6
¦ +-- tildify@1.2.0
¦ +-- v8flags@2.0.11
¦ ¦ +-- user-home@1.1.1
¦ +-- vinyl-fs@0.3.14
¦   +-- defaults@1.0.3
¦   +-- glob-stream@3.1.18
¦   ¦ +-- glob@4.5.3
¦   ¦ +-- glob2base@0.0.12
¦   ¦ ¦ +-- find-index@0.1.1
¦   ¦ +-- ordered-read-streams@0.1.0
¦   ¦ +-- unique-stream@1.0.0
¦   +-- glob-watcher@0.0.6
¦   ¦ +-- gaze@0.5.2
¦   ¦   +-- globule@0.1.0
¦   ¦     +-- glob@3.1.21
¦   ¦     ¦ +-- graceful-fs@1.2.3
¦   ¦     ¦ +-- inherits@1.0.2
¦   ¦     +-- lodash@1.0.2
¦   ¦     +-- minimatch@0.2.14
¦   +-- graceful-fs@3.0.8
¦   +-- mkdirp@0.5.1
¦   ¦ +-- minimist@0.0.8
¦   +-- strip-bom@1.0.0
¦   ¦ +-- first-chunk-stream@1.0.0
¦   +-- through2@0.6.5
¦   ¦ +-- readable-stream@1.0.34
¦   +-- vinyl@0.4.6
¦     +-- clone@0.2.0
+-- gulp-autoprefixer@3.1.0
¦ +-- autoprefixer@6.3.6
¦ ¦ +-- browserslist@1.3.1
¦ ¦ +-- caniuse-db@1.0.30000458
¦ ¦ +-- normalize-range@0.1.2
¦ ¦ +-- num2fraction@1.2.2
¦ ¦ +-- postcss-value-parser@3.3.0
¦ +-- postcss@5.0.19
¦ ¦ +-- js-base64@2.1.9
¦ ¦ +-- source-map@0.5.3
¦ ¦ +-- supports-color@3.1.2
¦ ¦   +-- has-flag@1.0.0
¦ +-- through2@2.0.1
¦ ¦ +-- readable-stream@2.0.6
¦ ¦   +-- isarray@1.0.0
¦ +-- vinyl-sourcemaps-apply@0.2.1
+-- gulp-eslint@1.1.1
¦ +-- bufferstreams@1.1.0
+-- gulp-if@2.0.0
¦ +-- gulp-match@1.0.1
¦ ¦ +-- minimatch@3.0.0
¦ +-- ternary-stream@2.0.0
¦ ¦ +-- duplexify@3.4.3
¦ ¦ ¦ +-- end-of-stream@1.0.0
¦ ¦ +-- fork-stream@0.0.4
¦ ¦ +-- merge-stream@1.0.0
¦ ¦ +-- through2@2.0.1
¦ ¦   +-- readable-stream@2.0.6
¦ ¦     +-- isarray@1.0.0
¦ +-- through2@2.0.1
¦   +-- readable-stream@2.0.6
¦     +-- isarray@1.0.0
+-- gulp-load-plugins@1.2.2
¦ +-- findup-sync@0.2.1
¦ ¦ +-- glob@4.3.5
¦ +-- multimatch@2.0.0
¦ +-- resolve@1.1.7
+-- gulp-rename@1.2.2
+-- gulp-replace@0.5.4
¦ +-- istextorbinary@1.0.2
¦ ¦ +-- binaryextensions@1.0.0
¦ ¦ +-- textextensions@1.0.1
¦ +-- readable-stream@2.1.0
¦ ¦ +-- core-util-is@1.0.2
¦ ¦ +-- inline-process-browser@2.0.1
¦ ¦ ¦ +-- falafel@1.2.0
¦ ¦ ¦   +-- acorn@1.2.2
¦ ¦ ¦   +-- foreach@2.0.5
¦ ¦ ¦   +-- object-keys@1.0.9
¦ ¦ +-- isarray@1.0.0
¦ ¦ +-- process-nextick-args@1.0.6
¦ ¦ +-- string_decoder@0.10.31
¦ ¦ +-- unreachable-branch-transform@0.5.1
¦ ¦ ¦ +-- esmangle-evaluator@1.0.0
¦ ¦ ¦ +-- recast@0.11.5
¦ ¦ ¦   +-- ast-types@0.8.16
¦ ¦ ¦   +-- private@0.1.6
¦ ¦ +-- util-deprecate@1.0.2
¦ +-- replacestream@4.0.0
¦   +-- object-assign@3.0.0
+-- gulp-scss-lint@0.3.9
¦ +-- bluebird@2.10.2
¦ +-- dargs@3.0.1
¦ +-- event-stream@3.2.2
¦ ¦ +-- duplexer@0.1.1
¦ ¦ +-- from@0.1.3
¦ ¦ +-- map-stream@0.1.0
¦ ¦ +-- pause-stream@0.0.11
¦ ¦ +-- split@0.3.3
¦ ¦ +-- stream-combiner@0.0.4
¦ +-- pretty-data@0.40.0
¦ +-- shell-escape@0.2.0
¦ +-- slash@1.0.0
¦ +-- sync-exec@0.5.0
¦ +-- vinyl@0.5.3
¦ ¦ +-- clone@1.0.2
¦ ¦ +-- clone-stats@0.0.1
¦ +-- vinyl-fs@1.0.0
¦ ¦ +-- glob-stream@4.1.1
¦ ¦ ¦ +-- glob@4.5.3
¦ ¦ ¦ +-- unique-stream@2.2.1
¦ ¦ ¦   +-- through2-filter@2.0.0
¦ ¦ ¦     +-- through2@2.0.1
¦ ¦ ¦       +-- readable-stream@2.0.6
¦ ¦ ¦         +-- isarray@1.0.0
¦ ¦ +-- glob-watcher@0.0.8
¦ ¦ +-- graceful-fs@3.0.8
¦ ¦ +-- merge-stream@0.1.8
¦ ¦ +-- mkdirp@0.5.1
¦ ¦ ¦ +-- minimist@0.0.8
¦ ¦ +-- object-assign@2.1.1
¦ ¦ +-- strip-bom@1.0.0
¦ ¦ +-- vinyl@0.4.6
¦ ¦   +-- clone@0.2.0
¦ +-- xml2js@0.4.16
¦   +-- sax@1.2.1
¦   +-- xmlbuilder@4.2.1
+-- gulp-size@2.1.0
¦ +-- gzip-size@3.0.0
¦ +-- pretty-bytes@3.0.1
¦ ¦ +-- number-is-nan@1.0.0
¦ +-- stream-counter@1.0.0
¦ +-- through2@2.0.1
¦   +-- readable-stream@2.0.6
¦     +-- isarray@1.0.0
+-- gulp-sourcemaps@1.6.0
¦ +-- convert-source-map@1.2.0
¦ +-- graceful-fs@4.1.3
¦ +-- strip-bom@2.0.0
¦ ¦ +-- is-utf8@0.2.1
¦ +-- through2@2.0.1
¦ ¦ +-- readable-stream@2.0.6
¦ ¦   +-- isarray@1.0.0
¦ +-- vinyl@1.1.1
+-- kss@2.4.0
¦ +-- glob@6.0.4
¦ +-- handlebars@3.0.3
¦ ¦ +-- source-map@0.1.43
¦ ¦ +-- uglify-js@2.3.6
¦ ¦   +-- async@0.2.10
¦ ¦   +-- optimist@0.3.7
¦ +-- marked@0.3.5
¦ +-- mkdirp@0.5.1
¦ ¦ +-- minimist@0.0.8
¦ +-- natural@0.2.1
¦ ¦ +-- apparatus@0.0.9
¦ ¦ +-- sylvester@0.0.21
¦ ¦ +-- underscore@1.7.0
¦ +-- wrench@1.5.9
¦ +-- yargs@3.32.0
¦   +-- camelcase@2.1.1
+-- node-sass-import-once@1.2.0
+-- support-for@1.0.5
+-- typey@1.0.0-beta.9
+-- zen-grids@2.0.1

npm WARN optional Skipping failed optional dependency /chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.11
npm ERR! Linux 4.4.0-21-generic
npm ERR! argv "/usr/bin/nodejs" "/usr/bin/npm" "install"
npm ERR! node v4.2.6
npm ERR! npm  v3.5.2
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn

npm ERR! node-sass@3.4.2 install: `node scripts/install.js`
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the node-sass@3.4.2 install script 'node scripts/install.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the node-sass package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node scripts/install.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs node-sass
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls node-sass
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     /sites/all/themes/mytheme/npm-debug.log

  • JohnAlbin committed 98c89b0 on 7.x-6.x
    Issue #2567603 by JohnAlbin: Update installation instructions
    
JohnAlbin’s picture

Status: Needs work » Needs review

I've updated the instructions.

JohnAlbin’s picture

JohnAlbin’s picture

Status: Needs review » Fixed

  • JohnAlbin committed 98c89b0 on 8.x-7.x
    Issue #2567603 by JohnAlbin: Update installation instructions
    
  • JohnAlbin committed ee89f87 on 8.x-7.x
    Issue #2567603: Remove support for Node.js 0.12.
    

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.