express-status-monitor
express-status-monitor copied to clipboard
eventloop vs windows
I found #143 and this was closed due to possibly fixed.
Since #143 is regarding node-alpine I'm creating this issue for windows platform.
I did install [email protected] and event-loop-stats is reporting gyp Errors regarding python.
This is the log:
PS $REPOSITORY$> npm install [email protected]
> [email protected] install $REPOSITORY$\node_modules\event-loop-stats
> node-gyp rebuild
$REPOSITORY$\node_modules\event-loop-stats>if not defined npm_config_node_gyp (node "$USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "$USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" 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 checking if the py launcher can be used to find Python 2
gyp ERR! find Python - "py.exe" is not in PATH or produced an error
gyp ERR! find Python checking if Python is C:\Python27\python.exe
gyp ERR! find Python - "C:\Python27\python.exe" could not be run
gyp ERR! find Python checking if Python is C:\Python37\python.exe
gyp ERR! find Python - "C:\Python37\python.exe" could not be run
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="C:\Path\To\python.exe"
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 "C:\Path\To\python.exe"
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 ($USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\node-gyp\lib\find-python.js:307:47)
gyp ERR! stack at PythonFinder.runChecks ($USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\node-gyp\lib\find-python.js:136:21)
gyp ERR! stack at PythonFinder.<anonymous> ($USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\node-gyp\lib\find-python.js:225:16)
gyp ERR! stack at PythonFinder.execFileCallback ($USERDIR$\AppData\Roaming\nvm\v12.16.0\node_modules\npm\node_modules\node-gyp\lib\find-python.js:271:16)
gyp ERR! stack at exithandler (child_process.js:310:5)
gyp ERR! stack at ChildProcess.errorhandler (child_process.js:322:5)
gyp ERR! stack at ChildProcess.emit (events.js:321:20)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:273:12)
gyp ERR! stack at onErrorNT (internal/child_process.js:469:16)
gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:84:21)
gyp ERR! System Windows_NT 10.0.19041
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "$ESCAPED_USERDIR$\\AppData\\Roaming\\nvm\\v12.16.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd $REPOSITORY$\node_modules\event-loop-stats
gyp ERR! node -v v12.16.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\event-loop-stats):
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] install: `node-gyp rebuild`
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: Exit status 1
+ [email protected]
added 47 packages from 77 contributors in 23.247s
93 packages are looking for funding
run `npm fund` for details
I mean it installs successfully and runs without errors. but that error message is confusing for me and my colleagues...
So I'm asking is this intended?
Are you using Docker by any chance? I'm installing it just for node-gyp on alpine images. See how I did it here. I can't remember the exact error but the event loop seems to need Python or else, something gets disabled. Installing python gets rid of the error since that lib gets satisfied when found.
I'm not using Docker. I run this locally on my windows machine. I don't have any Python installations. I'd like to not install Python cause this is an optional dependency.
I might get things wrong but optional dependencies shouldn't throw errors (even if they're not breaking the build). Warnings would be ok in my opinion.
Seems like an npm version issue with the optionalDependencies.
This error happened on NodeJS <15.0.0 (which comes with npm <=6.14.17).
When I use NodeJS >=15.0.0 (which comes with npm >=7.0.2) to npm install
, the error went away.
(src: https://nodejs.org/en/download/releases/)