sjudson / paseto.js

PASETO: Platform-Agnostic Security Tokens
MIT License
271 stars 16 forks source link

Does not install in node 8.10 #10

Closed nfantone closed 5 years ago

nfantone commented 5 years ago

Installing paseto.js in node@8.10.0 ends up failing with:

error /Users/nfantone/prj/fb/lambda-api-key-token-authorizer/node_modules/paseto.js: Command failed.
Exit code: 1
Command: node-gyp rebuild
Arguments:
Directory: /Users/nfantone/prj/fb/lambda-api-key-token-authorizer/node_modules/paseto.js
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.2
gyp info using node@8.10.0 | darwin | x64
gyp info spawn /usr/local/bin/python2
gyp info spawn args [ '/Users/nfantone/.nvm/versions/node/v8.10.0/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nfantone/prj/fb/lambda-api-key-token-authorizer/node_modules/paseto.js/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nfantone/.nvm/versions/node/v8.10.0/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/nfantone/.node-gyp/8.10.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/nfantone/.node-gyp/8.10.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/nfantone/.nvm/versions/node/v8.10.0/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/nfantone/.node-gyp/8.10.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/nfantone/prj/fb/lambda-api-key-token-authorizer/node_modules/paseto.js',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.' ]

node@8.12.0 (latest 8.x), which is what Travis is using to build and test this repository, works fine, but previous versions do not.

This is particularly inconvenient if working with environments where node version is locked, such as AWS Lambda.

nfantone commented 5 years ago

Turns out xcode-select -r was all I needed to make this work correctly on macOS High Sierra 10.13.6.

Still cannot explain why 8.12 was working properly - but running above command solved the issue for me.

Closing.