ronomon / crypto-async

Fast, reliable cipher, hash and hmac methods executed in Node's threadpool for multi-core throughput.
MIT License
174 stars 15 forks source link

node-gyp: Error: Could not find any Python installation to use #18

Open kashiif opened 2 years ago

kashiif commented 2 years ago

Steps to reproduce:

  1. Run docker container: docker run -it --entrypoint /bin/bash node:14.18.1-buster-slim
  2. Inside the docker container, run: mkdir test && cd test
  3. Run npm install @ronomon/crypto-async

Ends up on error

@ronomon/crypto-async@5.0.1 install /test/node_modules/@ronomon/crypto-async node-gyp rebuild

gyp ERR! find Python gyp ERR! find Python Python is not set from command line or npm configuration gyp ERR! find Python Python is not set from environment variable PYTHON gyp ERR! find Python checking if "python" can be used gyp ERR! find Python - "python" is not in PATH or produced an error gyp ERR! find Python checking if "python2" can be used gyp ERR! find Python - "python2" is not in PATH or produced an error gyp ERR! find Python checking if "python3" can be used gyp ERR! find Python - "python3" is not in PATH or produced an error gyp ERR! find Python gyp ERR! find Python ** gyp ERR! find Python You need to install the latest version of Python. gyp ERR! find Python Node-gyp should be able to find and use Python. If not, gyp ERR! find Python you can try one of the following options: gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable" gyp ERR! find Python (accepted by both node-gyp and npm) gyp ERR! find Python - Set the environment variable PYTHON gyp ERR! find Python - Set the npm configuration variable python: gyp ERR! find Python npm config set python "/path/to/pythonexecutable" gyp ERR! find Python For more information consult the documentation at: gyp ERR! find Python https://github.com/nodejs/node-gyp#installation gyp ERR! find Python ** gyp ERR! find Python gyp ERR! configure error gyp ERR! stack Error: Could not find any Python installation to use gyp ERR! stack at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:307:47) gyp ERR! stack at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:136:21) gyp ERR! stack at PythonFinder. (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:179:16) gyp ERR! stack at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:271:16) gyp ERR! stack at exithandler (child_process.js:390:5) gyp ERR! stack at ChildProcess.errorhandler (child_process.js:402:5) gyp ERR! stack at ChildProcess.emit (events.js:400:28) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:280:12) gyp ERR! stack at onErrorNT (internal/child_process.js:469:16) gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:82:21) gyp ERR! System Linux 5.4.39-linuxkit 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 /test/node_modules/@ronomon/crypto-async gyp ERR! node -v v14.18.1 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok npm WARN enoent ENOENT: no such file or directory, open '/test/package.json' npm WARN test No description npm WARN test No repository field. npm WARN test No README data npm WARN test No license field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! @ronomon/crypto-async@5.0.1 install: node-gyp rebuild npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the @ronomon/crypto-async@5.0.1 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

Description

The node-gyp package has some dependencies that may not be present on every docker images.

It would be helpful to mention these dependencies in README.