danielgtaylor / aglio

An API Blueprint renderer with theme support that outputs static HTML
4.75k stars 480 forks source link

Error installing aglio on OSX with node v10.14.2 and npm 6.4.1 #362

Open danielmorozoff opened 5 years ago

danielmorozoff commented 5 years ago

Aglio will not install and outputs the following errors, any help would be much appreciated. I was able to build protagonist from source fine, cloning the repo and running npm install

/Users/danielmorozoff/.node-gyp/10.14.2/include/node/v8.h:2455:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/danielmorozoff/.node-gyp/10.14.2/include/node/v8config.h:327:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated))
                            ^
../src/parse_async.cc:128:14: error: no matching constructor for initialization of 'v8::TryCatch'
    TryCatch try_catch;
             ^
/Users/danielmorozoff/.node-gyp/10.14.2/include/node/v8.h:8536:12: note: candidate constructor not viable: requires single argument 'isolate', but no arguments were provided
  explicit TryCatch(Isolate* isolate);
           ^
/Users/danielmorozoff/.node-gyp/10.14.2/include/node/v8.h:8656:3: note: candidate constructor not viable: requires 1 argument, but 0 were provided
  TryCatch(const TryCatch&) = delete;
  ^
2 warnings and 1 error generated.
make: *** [Release/obj.target/protagonist/src/parse_async.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/danielmorozoff/Desktop/paw-aglio-generator/node_modules/aglio/node_modules/protagonist
gyp ERR! node -v v10.14.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok

> protagonist@2.0.0-pre.3 install /Users/danielmorozoff/Desktop/paw-aglio-generator/node_modules/protagonist
> node-gyp rebuild

  CXX(target) Release/obj.target/libdrafter/drafter/src/drafter.o
In file included from ../drafter/src/drafter.cc:10:
In file included from ../drafter/ext/snowcrash/src/snowcrash.h:12:
In file included from ../drafter/ext/snowcrash/src/BlueprintSourcemap.h:12:
In file included from ../drafter/ext/snowcrash/src/Blueprint.h:17:
In file included from ../drafter/ext/snowcrash/src/MSON.h:19:
../drafter/ext/snowcrash/ext/markdown-parser/src/MarkdownParser.h:14:10: fatal error: 'markdown.h' file not found
#include "markdown.h"
         ^~~~~~~~~~~~
1 error generated.
make: *** [Release/obj.target/libdrafter/drafter/src/drafter.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 18.2.0
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /Users/danielmorozoff/Desktop/paw-aglio-generator/node_modules/protagonist
gyp ERR! node -v v10.14.2
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok
npm WARN aglio-generator@0.0.1 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: protagonist@1.6.8 (node_modules/aglio/node_modules/protagonist):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: protagonist@1.6.8 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: protagonist@2.0.0-pre.3 (node_modules/protagonist):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: protagonist@2.0.0-pre.3 install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1

+ aglio@2.3.0
updated 1 package and audited 1919 packages in 87.911s
found 17 vulnerabilities (10 low, 4 moderate, 3 high)
  run `npm audit fix` to fix them, or `npm audit` for details
aprousas commented 5 years ago

You could try running sudo npm install -g aglio --unsafe-perm

(Thanks to https://github.com/danielgtaylor/aglio/issues/340#issuecomment-344307827)

antonio94js commented 5 years ago

I have the same issue on OSX, any solution?.

The @aprousas solution didn't work to me :(

antonio94js commented 5 years ago

I downgrade to node 8.15.0 and it works now.

Any plan to support node 11.0.0?

rtgoodwin commented 5 years ago

On node v10.14.2 only protagonist threw errors for me:

  CXX(target) Release/obj.target/protagonist/src/options_parser.o
../src/options_parser.cc:30:33: warning: 'Utf8Value' is deprecated [-Wdeprecated-declarations]
        const String::Utf8Value strKey(key);
                                ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:2891:5: note: 'Utf8Value' has been explicitly marked deprecated here
    V8_DEPRECATED("Use Isolate version",
    ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8config.h:327:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated))
                            ^
../src/options_parser.cc:49:41: warning: 'Utf8Value' is deprecated [-Wdeprecated-declarations]
                const String::Utf8Value strValue(value);
                                        ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:2891:5: note: 'Utf8Value' has been explicitly marked deprecated here
    V8_DEPRECATED("Use Isolate version",
    ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8config.h:327:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated))
                            ^
2 warnings generated.
  CXX(target) Release/obj.target/protagonist/src/parse_async.o
../src/parse_async.cc:61:23: warning: 'Utf8Value' is deprecated [-Wdeprecated-declarations]
    String::Utf8Value sourceData(info[0]->ToString());
                      ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:2891:5: note: 'Utf8Value' has been explicitly marked deprecated here
    V8_DEPRECATED("Use Isolate version",
    ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8config.h:327:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated))
                            ^
../src/parse_async.cc:120:39: warning: 'ToObject' is deprecated [-Wdeprecated-declarations]
    argv[1] = v8_wrap(baton->result)->ToObject();
                                      ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:2455:10: note: 'ToObject' has been explicitly marked deprecated here
  inline V8_DEPRECATED("Use maybe version", Local<Object> ToObject() const);
         ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8config.h:327:29: note: expanded from macro 'V8_DEPRECATED'
  declarator __attribute__((deprecated))
                            ^
../src/parse_async.cc:128:14: error: no matching constructor for initialization of 'v8::TryCatch'
    TryCatch try_catch;
             ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:8536:12: note: candidate constructor not viable: requires single argument 'isolate', but no arguments were provided
  explicit TryCatch(Isolate* isolate);
           ^
/Users/myuserfolder/.node-gyp/10.14.2/include/node/v8.h:8656:3: note: candidate constructor not viable: requires 1 argument, but 0 were provided
  TryCatch(const TryCatch&) = delete;
  ^
2 warnings and 1 error generated.
make: *** [Release/obj.target/protagonist/src/parse_async.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:262:23)
gyp ERR! stack     at ChildProcess.emit (events.js:182:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:240:12)
gyp ERR! System Darwin 18.6.0

Hopefully it works enough without protagonist, as I don't want to mess with node versions :)

Gasol commented 5 years ago

I have been worked on Aglio to support modern Node runtimes on https://github.com/Gasol/aglio/commit/333da52de6581069a7962bb386fe200d3104525e, I am also asking @danielgtaylor about the next release plan for Aglio, Hope we will see the next release in the next couple weeks.

https://travis-ci.org/Gasol/aglio/builds/532890195

If you are using macOS just like me, You can easily install Aglio via Homebrew without problems.

https://github.com/Gasol/homebrew-formulae/blob/master/aglio.rb

$ brew tap Gasol/homebrew-formulae
$ brew install --devel gasol/formulae/aglio
==> Installing aglio from gasol/formulae
==> Downloading https://github.com/Gasol/aglio/archive/e102cc7.tar.gz
==> Downloading from https://codeload.github.com/Gasol/aglio/tar.gz/e102cc7aa94537036049294445a6511864a71f26
######################################################################## 100.0%
==> npm install -ddd --build-from-source --cache=/Users/gasolwu/Library/Caches/Homebrew/npm_cache
==> npm run-script prepare
🍺  /usr/local/Cellar/aglio/e102cc7: 14,551 files, 59.2MB, built in 1 minute 8 seconds
Removing: /Users/gasolwu/Library/Caches/Homebrew/aglio--0c0b309.tar.gz... (194.2KB)
$ which aglio
/usr/local/bin/aglio
$ aglio -v
aglio 2.3.0
olio 1.6.3
rtgoodwin commented 5 years ago

@Gasol Thanks! Removed and installed via your method. Now to figure out my other thing :)