nodejs / node-gyp

Node.js native addon build tool

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gyp errors on npm install

conceptree opened this issue · comments

Hello,

I am currently getting an error in most of my installed node versions that goes from 14.16.0 up to 18 and latest 20.

I already tried most of the suggested fixs by the community that pass through the sass reinstallation and others.

I have reinstalled the node-gyp@latest globally but didnt solved the problem.

  • Node Version: 20.11.0 & NPM 10.2.4
  • Platform: Windows 10 Enterprise
  • Compiler: ?
  • Module: local-npm
npm install local-npm gyp errors
npm ERR! code 1
npm ERR! path C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\local-npm\node_modules\pouchdb\node_modules\leveldown
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c prebuild-install || node-gyp rebuild
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@10.0.1
npm ERR! gyp info using node@20.11.0 | win32 | ia32
npm ERR! gyp info find Python using Python version 3.12.1 found at "C:\Users\X\Documents\dev\python-3.12.1-embed-win32\python.exe"
npm ERR! gyp http GET https://nodejs.org/download/release/v20.11.0/node-v20.11.0-headers.tar.gz
npm ERR! (node:195480) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
npm ERR! (Use `node --trace-warnings ...` to show where the warning was created)
npm ERR! gyp WARN install got an error, rolling back install
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and
npm ERR! gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad
npm ERR! gyp ERR! stack network settings.
npm ERR! gyp ERR! stack at go (C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\install.js:244:21)
npm ERR! gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! gyp ERR! stack at async install (C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\install.js:63:18)
npm ERR! gyp ERR! stack at async getNodeDir (C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\lib\configure.js:53:7)
npm ERR! gyp ERR! stack at async run (C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\npm\node_modules\@npmcli\run-script\node_modules\node-gyp\bin\node-gyp.js:81:18)
npm ERR! gyp ERR! System Windows_NT 10.0.19045
npm ERR! gyp ERR! command "C:\\Users\\X\\Documents\\dev\\node-v20.11.0-win-x86\\node.exe" "C:\\Users\\X\\Documents\\dev\\node-v20.11.0-win-x86\\node_modules\\npm\\node_modules\\@npmcli\\run-script\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\Users\X\Documents\dev\node-v20.11.0-win-x86\node_modules\local-npm\node_modules\pouchdb\node_modules\leveldown
npm ERR! gyp ERR! node -v v20.11.0
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok

npm ERR! A complete log of this run can be found in: C:\Users\X\AppData\Local\npm-cache\_logs\2024-01-26T13_43_18_167Z-debug-0.log

Hope to get some assitance or be pointed into possible solutions.

Thanks in advance.

It seems to be happening on other npm installs now

npm ERR! code 1
npm ERR! path C:\Users\X\Documents\bitbucket\project\node_modules\deasync
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c node ./build.js
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp info using node-gyp@10.0.1
npm ERR! gyp info using node@18.19.0 | win32 | ia32
npm ERR! gyp info find Python using Python version 3.12.1 found at "C:\Users\X\Documents\dev\python-3.12.1-embed-win32\python.exe"
npm ERR! gyp http GET https://nodejs.org/download/release/v18.19.0/node-v18.19.0-headers.tar.gz
npm ERR! (node:4944) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
npm ERR! (Use `node --trace-warnings ...` to show where the warning was created)
npm ERR! gyp WARN install got an error, rolling back install
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: This is most likely not a problem with node-gyp or the package itself and
npm ERR! gyp ERR! stack is related to network connectivity. In most cases you are behind a proxy or have bad
npm ERR! gyp ERR! stack network settings.
npm ERR! gyp ERR! stack at go (C:\Users\X\.nvm\versions\node\v18.19.0\node_modules\npm\node_modules\node-gyp\lib\install.js:244:21)
npm ERR! gyp ERR! stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
npm ERR! gyp ERR! stack at async install (C:\Users\X\.nvm\versions\node\v18.19.0\node_modules\npm\node_modules\node-gyp\lib\install.js:63:18)
npm ERR! gyp ERR! stack at async getNodeDir (C:\Users\X\.nvm\versions\node\v18.19.0\node_modules\npm\node_modules\node-gyp\lib\configure.js:53:7)
npm ERR! gyp ERR! stack at async run (C:\Users\X\.nvm\versions\node\v18.19.0\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js:81:18)
npm ERR! gyp ERR! System Windows_NT 10.0.19045
npm ERR! gyp ERR! command "C:\\Users\\X\\.nvm\\versions\\node\\v18.19.0\\node.exe" "C:\\Users\\X\\.nvm\\versions\\node\\v18.19.0\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
npm ERR! gyp ERR! cwd C:\Users\X\Documents\bitbucket\project\node_modules\deasync
npm ERR! gyp ERR! node -v v18.19.0
npm ERR! gyp ERR! node-gyp -v v10.0.1
npm ERR! gyp ERR! not ok
npm ERR! Build failed

npm ERR! A complete log of this run can be found in: C:\Users\X\AppData\Local\npm-cache\_logs\2024-01-26T14_01_46_997Z-debug-0.log

Just tried with v16.20.2 and works without problems in the previous errors but still brakes on local-npm install.

same error... node v18.17

ok that could be a temp fix but i would prefer to use the latest npm if possible

https://github.com/nodejs/node-gyp/issues?q=is%3Aissue+label%3ANODE_TLS_REJECT_UNAUTHORIZED

im confused.. what does this link provide. I'm also having the same issues as others described above

That link provides a pointer to all the other issues in this repo about the same problem.

@cclauss so does this confirms that the node tls rejection flag is the cause of the problem?

Facing same issues

Before

I met the same error. What should I do ?


Update - My solutions

  1. updating npm bundled node gyp
  2. Recreate Project (I previously attempted rm -rf node_modules, rm -rf package-lock.json, npm cache clean --force, and npm cache verify, all of which were unsuccessful.)
  3. npm i -g node-gyp@latest
  4. npm install

Are you all trying to install leveldown or some other module?

@cclauss I tried to install sqlite3....

https://stackoverflow.com/a/62096421/15046796 this worked for me

this stackoverflow post seems unrelated to the issue, care to explain?

https://stackoverflow.com/a/62096421/15046796 this worked for me

this stackoverflow post seems unrelated to the issue, care to explain?

I am using Mac m1 chip laptop. I've recently updated to latest homebrew version. When I try to install node modules, there were these node gyp errors. So using the stackoverflow post above I was able to downgrade the homebrew version and the node modules were now installed successfully. So the solution that i posted above is for specifically Mac machines.

https://stackoverflow.com/a/62096421/15046796 this worked for me

this stackoverflow post seems unrelated to the issue, care to explain?

I am using Mac m1 chip laptop. I've recently updated to latest homebrew version. When I try to install node modules, there were these node gyp errors. So using the stackoverflow post above I was able to downgrade the homebrew version and the node modules were now installed successfully. So the solution that i posted above is for specifically Mac machines.

Ah, thank you for the clarification. With added context your comment can help out Mac users.

Somewhere in the middle of logs I saw this:

Traceback (most recent call last):
  File "/Users/eugenesaigak/balance/backend/node_modules/node-gyp/gyp/gyp_main.py", line 42, in <module>
    import gyp  # noqa: E402
    ^^^^^^^^^^
  File "/Users/eugenesaigak/balance/backend/node_modules/node-gyp/gyp/pylib/gyp/__init__.py", line 9, in <module>
    import gyp.input
  File "/Users/eugenesaigak/balance/backend/node_modules/node-gyp/gyp/pylib/gyp/input.py", line 19, in <module>
    from distutils.version import StrictVersion

This answer solved the issue for me:
https://stackoverflow.com/a/77638742

brew install python-setuptools

Explanation from the source:

distutils module is used to install python packages for node gyp. This module usually installed as part of python installation.
In python v3.12, distutils module removed. This means your local doesn't have any tool in place to support python package installation for node gyp.

@jeniasaigak The full error log will clarify that you have an out-of-date version of node-gyp.

Please read the installation section of node-gyp's README.md.

https://github.com/nodejs/node-gyp?tab=readme-ov-file#installation says

Important

Python >= v3.12 requires node-gyp >= v10

Simply do sudo npm install -g node-gyp

Then re-run npm install, all GOOD!!!!!

I tried all the solutions in the comments, but none of them worked.
in the end, it works
step1: npm install node-gyp or add node-gyp to the package.json
step2: npm install
and it works!!! God Please!!!