wet-boew / wet-boew-styleguide

A style guide for the Web Experience Toolkit.
http://wet-boew.github.io/wet-boew-styleguide/index-en.html
35 stars 32 forks source link

Install fails on latest macOS #348

Closed alanfluff closed 6 years ago

alanfluff commented 6 years ago

macOS 10.12.6 Node 8.1.3

The install instructions on https://wet-boew.github.io/v4.0-ci/docs/start-en.html under

I want to customize WET and design a new WET theme

end with the command yo wet-boew-theme.

This always errors, I have Googled a lot to try and fix this but cannot work it out.

Is it me, is no one using an up-to-date macOS and Node and installing WET, or, are there steps that everyone knows that aren't listed here? Or ... ?

Will provide any log files that may be of help but I am not sure what is needed.

Any help most appreciated - I am just trying to get a clean install of WET so I can poke about and experiment with it.

Cheers.

nschonni commented 6 years ago

The repo for the generator can be found here https://github.com/wet-boew/generator-wet-boew-theme If you're just looking to poke around, just cloning the main repo would probably be better https://github.com/wet-boew/wet-boew

alanfluff commented 6 years ago

Thanks, tried https://github.com/wet-boew/generator-wet-boew-theme but still stuck :/ I am getting the same as I run step 5. of this:

  1. Install NodeJS for your platform.
  2. Create a directory for your project.
  3. Install the Grunt CLI, Yeoman, and Bower packages globally by running npm install -g grunt-cli yo bower from the command line console (Command Prompt on Windows, Terminal on OS X, or other shell environment on Linux or Unix).
  4. Install the WET theme generator by running npm install -g generator-wet-boew-theme.
  5. Run yo wet-boew-theme from the command prompt, and answer the questions at the prompt to setup your theme project.

What I am trying to do is ...

setup your [my] theme project

... so I can knock up a quick test site and experiment with using WET components, but when I run step 5. I get what follows below...:

I've tried, from Googling for some time:

...I have a clean, newly installed macOS and am following the steps (1., 5.) but keep crashing out with errors like below.

Thanks for any suggestions, here's the output when I run yo wet-boew-theme

     _-----_
    |       |
    |--(o)--|   .--------------------------.
   `---------´  |    Welcome to Yeoman,    |
    ( _´U`_ )   |   ladies and gentlemen!  |
    /___A___\   '__________________________'
     |  ~  |
   __'.___.'__
 ´   `  |° ´ Y `

[?] What is the package name of the theme you want to create(ex: theme-wet-boew)? theme-wet-experiment2
[?] What license do you want to use? MIT
   create site/data/i18n/en.json
   create site/data/i18n/fr.json
   create site/layouts/default.hbs
   create site/layouts/splashpage.hbs
   create site/pages/index-en.hbs
identical site/pages/index-en.hbs
   create src/assets/favicon.ico
   create src/assets/favicon-mobile.png
   create src/assets/logo.svg
   create src/assets/logo.png
   create src/theme.scss
   create src/ie8-wet-boew.scss
   create src/_variables.scss
   create src/views/_base.scss
   create src/views/_print.scss
   create src/views/_screen.scss
   create src/views/_screen-xl-min.scss
   create src/views/_screen-lg-min-to-screen-lg-max.scss
   create src/views/_screen-lg-min.scss
   create src/views/_screen-lg-max.scss
   create src/views/_screen-md-min-to-screen-md-max.scss
   create src/views/_screen-md-min.scss
   create src/views/_screen-md-max.scss
   create src/views/_screen-sm-min-to-screen-sm-max.scss
   create src/views/_screen-sm-min.scss
   create src/views/_screen-sm-max.scss
   create src/views/_screen-xs-min-to-screen-xs-max.scss
   create src/views/_screen-xs-min.scss
   create src/views/_screen-xs-max.scss
   create src/views/_screen-xxs-max.scss
   create src/theme.js
   create Gruntfile.coffee
   create package.json
   create bower.json
   create .gitignore
   create .editorconfig
   create .jshintrc
   create .bowerrc
   create .travis.yml

I'm all done. Running npm install for you to install the required dependencies. If this fails, try running the command yourself.

npm WARN deprecated minimatch@0.2.14: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@2.0.1: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated graceful-fs@1.2.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated wrench@1.5.1: 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 deprecated minimatch@1.0.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
npm WARN deprecated graceful-fs@2.0.3: graceful-fs v3.0.0 and before will fail on node releases >= v7.0. Please update to graceful-fs@^4.0.0 as soon as possible. Use 'npm ls graceful-fs' to find it in the tree.
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue

> node-sass@0.9.3 install /Users/alan/work/clearly-convey/websites/the-lab/wet/experiment2/node_modules/node-sass
> node build.js

(node:35339) [DEP0006] DeprecationWarning: child_process: options.customFds option is deprecated. Use options.stdio instead.
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
gyp WARN download NVM_NODEJS_ORG_MIRROR is deprecated and will be removed in node-gyp v4, please use NODEJS_ORG_MIRROR
  CXX(target) Release/obj.target/binding/binding.o
In file included from ../binding.cpp:1:
../../nan/nan.h:337:54: error: too many arguments to function call, expected at most 2, have 4
    return v8::Signature::New(nan_isolate, receiver, argc, argv);
           ~~~~~~~~~~~~~~~~~~                        ^~~~~~~~~~
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:5607:3: note: 'New' declared here
  static Local<Signature> New(
  ^
In file included from ../binding.cpp:1:
../../nan/nan.h:392:32: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::CompileUnbound(nan_isolate, &source);
                               ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:1303:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../binding.cpp:1:
../../nan/nan.h:400:32: warning: 'CompileUnbound' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::CompileUnbound(nan_isolate, &source);
                               ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:1303:45: note: 'CompileUnbound' has been explicitly marked deprecated here
                       Local<UnboundScript> CompileUnbound(
                                            ^
In file included from ../binding.cpp:1:
../../nan/nan.h:405:24: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewExternal(nan_isolate, resource);
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2577:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../binding.cpp:1:
../../nan/nan.h:409:19: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
      v8::String::ExternalAsciiStringResource *resource) {
      ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                  ExternalStringResource
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2446:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../binding.cpp:1:
../../nan/nan.h:408:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../../nan/nan.h:403:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::String> NanNew(
                                   ^
../../nan/nan.h:410:24: warning: 'NewExternal' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewExternal(nan_isolate, resource);
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2577:38: note: 'NewExternal' has been explicitly marked deprecated here
                       Local<String> NewExternal(
                                     ^
In file included from ../binding.cpp:1:
../../nan/nan.h:415:31: warning: 'New' is deprecated [-Wdeprecated-declarations]
    return v8::BooleanObject::New(value).As<v8::BooleanObject>();
                              ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:4532:56: note: 'New' has been explicitly marked deprecated here
  V8_DEPRECATED("Pass an isolate", static Local<Value> New(bool value));
                                                       ^
In file included from ../binding.cpp:1:
../../nan/nan.h:427:3: error: redefinition of 'NanNew'
  NanNew<v8::StringObject, v8::Handle<v8::String> >(
  ^
../../nan/nan.h:420:3: note: previous definition is here
  NanNew<v8::StringObject, v8::Local<v8::String> >(
  ^
../../nan/nan.h:444:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:438:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:456:36: error: redefinition of 'NanNew'
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:450:36: note: previous definition is here
  NAN_INLINE v8::Local<v8::RegExp> NanNew(
                                   ^
../../nan/nan.h:463:59: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
    return v8::Uint32::NewFromUnsigned(nan_isolate, val)->ToUint32();
                                                          ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:9330:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../binding.cpp:1:
../../nan/nan.h:468:59: warning: 'ToUint32' is deprecated [-Wdeprecated-declarations]
    return v8::Uint32::NewFromUnsigned(nan_isolate, val)->ToUint32();
                                                          ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:9330:22: note: 'ToUint32' has been explicitly marked deprecated here
Local<Uint32> Value::ToUint32() const {
                     ^
In file included from ../binding.cpp:1:
../../nan/nan.h:473:46: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
    return v8::Int32::New(nan_isolate, val)->ToInt32();
                                             ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:9336:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:478:46: warning: 'ToInt32' is deprecated [-Wdeprecated-declarations]
    return v8::Int32::New(nan_isolate, val)->ToInt32();
                                             ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:9336:21: note: 'ToInt32' has been explicitly marked deprecated here
Local<Int32> Value::ToInt32() const {
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:518:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2539:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:529:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2539:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:538:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(nan_isolate, arg);
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2539:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:544:24: warning: 'NewFromOneByte' is deprecated [-Wdeprecated-declarations]
    return v8::String::NewFromOneByte(nan_isolate, arg);
                       ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2539:21: note: 'NewFromOneByte' has been explicitly marked deprecated here
      Local<String> NewFromOneByte(Isolate* isolate, const uint8_t* data,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:586:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:592:20: error: no type named 'GCEpilogueCallback' in 'v8::Isolate'
      v8::Isolate::GCEpilogueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:597:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback
      ~~~~~~~~~~~~~^
../../nan/nan.h:603:20: error: no type named 'GCPrologueCallback' in 'v8::Isolate'
      v8::Isolate::GCPrologueCallback callback) {
      ~~~~~~~~~~~~~^
../../nan/nan.h:631:17: error: no template named 'WeakCallbackData' in namespace 'v8'; did you mean 'WeakCallbackInfo'?
      const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> >& data);
            ~~~~^~~~~~~~~~~~~~~~
                WeakCallbackInfo
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:7723:16: note: 'WeakCallbackInfo' declared here
  friend class WeakCallbackInfo;
               ^
In file included from ../binding.cpp:1:
../../nan/nan.h:631:17: error: too many template arguments for class template 'WeakCallbackInfo'
      const v8::WeakCallbackData<T, _NanWeakCallbackInfo<T, P> >& data);
                ^                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:7723:16: note: template is declared here
  friend class WeakCallbackInfo;
               ^
In file included from ../binding.cpp:1:
../../nan/nan.h:767:13: error: no member named 'smalloc' in namespace 'node'
    , node::smalloc::FreeCallback callback
      ~~~~~~^
../../nan/nan.h:777:12: error: no matching function for call to 'New'
    return node::Buffer::New(nan_isolate, data, size);
           ^~~~~~~~~~~~~~~~~
/Users/alan/.node-gyp/8.1.3/include/node/node_buffer.h:67:40: note: candidate function not viable: 2nd argument ('const char *') would lose const qualifier
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/alan/.node-gyp/8.1.3/include/node/node_buffer.h:55:40: note: candidate function not viable: no known conversion from 'const char *' to 'v8::Local<v8::String>' for 2nd argument
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
/Users/alan/.node-gyp/8.1.3/include/node/node_buffer.h:52:40: note: candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate, size_t length);
                                       ^
/Users/alan/.node-gyp/8.1.3/include/node/node_buffer.h:60:40: note: candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
                                       ^
In file included from ../binding.cpp:1:
../../nan/nan.h:781:12: error: no viable conversion from returned value of type 'v8::MaybeLocal<v8::Object>' to function return type 'v8::Local<v8::Object>'
    return node::Buffer::New(nan_isolate, size);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:189:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'const v8::Local<v8::Object> &' for 1st argument
class Local {
      ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:189:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'v8::MaybeLocal<v8::Object>' to
      'v8::Local<v8::Object> &&' for 1st argument
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:193:13: note: candidate template ignored: could not match 'Local' against 'MaybeLocal'
  V8_INLINE Local(Local<S> that)
            ^
In file included from ../binding.cpp:1:
../../nan/nan.h:788:26: error: no member named 'Use' in namespace 'node::Buffer'
    return node::Buffer::Use(nan_isolate, data, size);
           ~~~~~~~~~~~~~~^
../../nan/nan.h:814:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(nan_isolate, &source);
                               ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:1323:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:821:32: warning: 'Compile' is deprecated [-Wdeprecated-declarations]
    return v8::ScriptCompiler::Compile(nan_isolate, &source);
                               ^
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:1323:21: note: 'Compile' has been explicitly marked deprecated here
      Local<Script> Compile(Isolate* isolate, Source* source,
                    ^
In file included from ../binding.cpp:1:
../../nan/nan.h:1728:12: error: no member named 'IsExternalAscii' in 'v8::String'; did you mean 'IsExternal'?
  if (str->IsExternalAscii()) {
           ^~~~~~~~~~~~~~~
           IsExternal
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2407:8: note: 'IsExternal' declared here
  bool IsExternal() const;
       ^
In file included from ../binding.cpp:1:
../../nan/nan.h:1729:23: error: no type named 'ExternalAsciiStringResource' in 'v8::String'; did you mean 'ExternalStringResource'?
    const v8::String::ExternalAsciiStringResource* ext;
          ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
                      ExternalStringResource
/Users/alan/.node-gyp/8.1.3/include/node/v8.h:2446:19: note: 'ExternalStringResource' declared here
  class V8_EXPORT ExternalStringResource
                  ^
In file included from ../binding.cpp:1:
../../nan/nan.h:1730:16: error: no member named 'GetExternalAsciiStringResource' in 'v8::String'
    ext = str->GetExternalAsciiStringResource();
          ~~~  ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
15 warnings and 20 errors generated.
make: *** [Release/obj.target/binding/binding.o] Error 1
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/alan/.nvm/versions/node/v8.1.3/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:125:13)
gyp ERR! stack     at ChildProcess.emit (events.js:213:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)
gyp ERR! System Darwin 16.7.0
gyp ERR! command "/Users/alan/.nvm/versions/node/v8.1.3/bin/node" "/Users/alan/.nvm/versions/node/v8.1.3/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/alan/work/clearly-convey/websites/the-lab/wet/experiment2/node_modules/node-sass
gyp ERR! node -v v8.1.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 
Build failed
npm WARN theme-wet-experiment2@4.0.21 No description
npm WARN theme-wet-experiment2@4.0.21 No repository field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@0.9.3 install: `node build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the node-sass@0.9.3 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/alan/.npm/_logs/2017-07-24T16_58_03_151Z-debug.log
shawnthompson commented 6 years ago

I believe there's issues with node v8.x for the build, not sure about Yeoman. I'm running v7.10.0. Not sure if that's the problem but worth a try.

I'm running nvm on my Macbook which makes it easy to install and switch versions of node.

alanfluff commented 6 years ago

Tks @shawnthompson I'll try switching down to that version. Tried that once before and it didn't work, but not to that version. Cheers!