64

I'm try to install modules on Windows 10 using npm 5.6.0. When I enter npm install I get:

gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack at ChildProcess.onCpExit (C:\Users\xiaooming\Desktop\app\node_modules\node-gyp\lib\configure.js:336:16)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.16299
gyp ERR! command "D:\\Program Files\\nodejs\\node.exe" "C:\\Users\\xiaooming\\Desktop\\app\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd C:\Users\xiaooming\Desktop\app\node_modules\node-sass
gyp ERR! node -v v8.10.0
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
Build failed with error code: 1
npm WARN kingt4.0app@1.0.0 No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.1.3 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.1.3: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! node-sass@3.13.1 postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the node-sass@3.13.1 postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\xiaooming\AppData\Roaming\npm-cache\_logs\2018-03-18T13_02_03_946Z-debug.log

It seems like node-sass install error. The environment is below:

Python version: 2.7.14

npm version: 5.6.0

node version: 8.10.0

ruby version: 2.3.3p222 (2016-11-21 revision 56859) [i386-mingw32]

system: win10(x64)

node-gyp: 3.6.2

And I have installed Microsoft Visual Studio express 2015, the below command has been executed:

npm config set msvs_version 2015
node-gyp configure --msvs_version=2015
npm install --global --production windows-build-tools

package.json

{
  "name": "kingt4.0app",
  "version": "1.0.0",
  "description": "an kingt4.0 project.",
  "main": "index.js",
  "scripts": {
    "test": "test.js"
  },
  "keywords": [
    "finance"
  ],
  "author": "kingdom",
  "license": "ISC",
  "devDependencies": {
    "browser-sync": "^2.11.1",
    "gulp": "^3.9.1",
    "gulp-autoprefixer": "^3.1.0",
    "gulp-cache": "^0.4.2",
    "gulp-changed": "^1.3.2",
    "gulp-clean-css": "^2.0.2",
    "gulp-file-include": "^0.13.7",
    "gulp-if": "^2.0.0",
    "gulp-imagemin": "^2.4.0",
    "gulp-rename": "^1.2.2",
    "gulp-sass": "^2.2.0",
    "gulp-sourcemaps": "^1.6.0",
    "gulp.spritesmith": "^6.2.1",
    "imagemin-jpegtran": "^4.3.2",
    "imagemin-pngquant": "^4.2.2",
    "merge-stream": "^1.0.0",
    "normalize.css": "^4.0.0",
    "spritesheet-templates": "^10.1.2",
    "vinyl-buffer": "^1.0.0"
  },
  "dependencies": {
    "remodal": "^1.0.7",
    "slick-carousel": "^1.6.0"
  }
}

How to resolve this problem? thanks for help.

Asef Hossini
  • 655
  • 8
  • 11
dawn
  • 855
  • 1
  • 7
  • 16
  • Possible duplicate of [Cannot install node modules that require compilation on Windows 7 x64/VS2012](https://stackoverflow.com/questions/14278417/cannot-install-node-modules-that-require-compilation-on-windows-7-x64-vs2012) – Artur P. Mar 18 '18 at 13:49
  • use node v7.9.x and install vs2015 and windows sdk then it is ok. – dawn Dec 11 '18 at 10:02
  • 1
    How the hell node got so popular since it's almost impossible to install standard project in a normal way. -_- – garbus Nov 15 '22 at 14:14

25 Answers25

96

If this is a mac machine (OSX) here is what you can do

use terminal

xcode-select --print-path

then remove installed version

sudo rm -r -f /Library/Developer/CommandLineTools

and reinstall

xcode-select --install

that should fix the problem

Ref: gyp: No Xcode or CLT version detected macOS Catalina

user728650
  • 1,828
  • 12
  • 13
  • 16
    Personally, I need to do it couple times per year. ‍♂️ – Mark Twain Apr 19 '20 at 15:18
  • 2
    This command works. But like Mark Twain, I end up repeating it periodically. – amracel Aug 17 '20 at 16:08
  • 1
    This worked for me as well. Took about a minute to run these commands, so it was super quick. Thanks! – Danny Bullis Oct 23 '20 at 01:32
  • I never had to do this with my previous osx machine. Now I am doing it daily. :( – Prachi May 03 '23 at 14:21
  • Well looks like I just wiped my command line tools. On MacOS 13.5 the final command just says `error: command line tools are already installed, use "Software Update" in System Settings to install updates` – Tim MB Aug 18 '23 at 20:42
45

this works for me. run command below one by one

rm -rf node_modules
rm package-lock.json
npm update
npm install
Azlan Jamal
  • 2,660
  • 3
  • 22
  • 29
21
$ npm i --ignore-script 

I tried different ways to solve this issue, finally, this comment simply help to install node packages without any errors.

Mohan Lar
  • 211
  • 2
  • 3
  • Yes, that does not show any errors. Still, I would not call it a solution. Some script failed and something is still broken/missing. Question is what failed and why. – PiTheNumber Jun 30 '23 at 14:28
16

Try this command below and see if that wiped away this issue. I have catalina on my mac and this command wiped away that problem.


npm i -g node-gyp@latest && npm config set node_gyp "/usr/local/lib/node_modules/node-gyp/bin/node-gyp.js"
Ehsan Ahmadi
  • 1,382
  • 15
  • 16
13

This error is due to obsolete packages. It can also be due to a version change of NodeJS, npm or other packages and/or package managers. To solve it you must remove node_modules and execute the command:

npm i --ignore-script

It's possible that node-sass gives you an error because it is already obsolete, so install npm sass. In case it's another package, just check the current version and update it.

ggorlen
  • 44,755
  • 7
  • 76
  • 106
JMatos0014
  • 131
  • 1
  • 2
10

Delete your $HOME/.node-gyp directory and try again:

rm -R ~/.node-gyp
aashish tamsya
  • 4,903
  • 3
  • 23
  • 34
Soheil
  • 101
  • 1
  • 5
4

I think delete this directory is better:

rm -rf ~/.node-gyp/
rm -r node_modules/.bin/;
rm -r build/
npm install <your module>
mohammad javad ahmadi
  • 2,031
  • 1
  • 10
  • 27
4

if you remove your package-lock.json and then run

npm update
npm install
3

I had the same issue while installing a project which uses the webpack. And i did follow the steps about xcode-select reinstallation but it gave me the same error. For this I did a simple fix, I installed node-sass separately as it was the one giving error.

npm i node-sass

Then ran the installation again using,

npm i

And it worked for me✌️

Sometimes the node packages have older versions which needs to be upgraded as well for a project. For this you get vulnerability related warnings while installation. for this run the following command(it is also mentioned in terminal output),

npm audit fix
2

I faced similar issue where my MSVS_version was 2019.I tried following steps and issue was resolved.

npm install --global --production windows-build-tools

Then

npm config set msvs_version 2017
npm i
Dharman
  • 30,962
  • 25
  • 85
  • 135
Jaykumar Patil
  • 359
  • 4
  • 13
2

This can also occurs if you have Python 3.11 installed, as mentioned here https://stackoverflow.com/a/74732671/2630344

misterGrosar
  • 294
  • 1
  • 3
  • 10
1

You may need to install Windows build tools. Check it out this ref.

Dipten
  • 1,031
  • 8
  • 16
0

As described here: https://github.com/nodejs/node-gyp/issues/1634

You need to install postgresql-server-dev-X.Y for building a server-side extension or libpq-dev for building a client-side application.
gyp: Call to '/usr/bin/pg_config --libdir' returned exit status 1 while in binding.gyp. while trying to load binding.gyp

In my case the problem solved by installing libpq-dev on my Ubuntu

$ sudo apt install libpq-dev

then try to removing the node_modules and do npm install again.

Note Please take a note that this is not a problem with the node modules, the problem is on the my machine, it doesn't meet the criteria of libpq

Aditya Kresna Permana
  • 11,869
  • 8
  • 42
  • 48
  • npm ERR! code E404 npm ERR! 404 Not Found - GET https://registry.npmjs.org/libpq-dev - Not found – Pir Abdul Jan 10 '20 at 21:06
  • 1
    It's not an NPM modules @PirAbdul, it's on your machine. Find a match module for your OS, in my case it's Ubuntu. On yours maybe a little different depending on what you use. Please read carrefully. – Aditya Kresna Permana Jan 11 '20 at 14:36
  • I run sudo apt install libpq-dev - my issue is fixed – mpz Jan 21 '20 at 10:28
0

I've faced the same issue on my OSX 10.15 with brew as repository; for me was enough doing:

brew unlink python@2
brew link python
0

I had to update to dart-sass, was still using node-sass which is deprecated. https://github.com/sass/dart-sass#from-npm

0

I was facing similar issue while doing npm install for one of existing vuejs app. Initially it complained for missing python. after installing python, i started getting this error - gyp ERR! stack Error: gyp failed with exit code: 1

Later I realized that the project also had package-lock.json. I removed it and did npm install. It worked!!! So if you are facing similar issue, and also have package-lock.json then try removing it.

spidey
  • 121
  • 1
  • 2
  • 15
0

I was stuck with this issue for quite long on macOS. For me, on macOS, I had to

  1. Install Python 2.7.x while Python 3 was already installed
  2. Ensure Python 2 path was included in $PATH
  3. Switch CLI. It didn't work in iTerm2, but worked fine on standard macOS terminal

I did install xcode as well, but that didn't have an effect

Arghya C
  • 9,805
  • 2
  • 47
  • 66
0

I got the same gyp ERR! error on Ubuntu 22 when I was installing node-heapdump.

To fix it, I run the following command:

 sudo apt install node-gyp
Stanley Ulili
  • 702
  • 5
  • 7
0

I fixed this issue by changing the node version.

I use nvm to handle multiple node versions. I was using node v14.x and npm v6.x and I had to change node to 16.x and npm 8.x

I did:

nvm use 16

If you don't have nvm, you need to install it using brew:

brew install nvm

I know there could be multiple fixes for this error but this worked for me.

Later edit: I also switched from node-sass to sass as node-sass is not maintained anymore and the migration is not that complex. You can have a look at how to do this here.

0

macOS install gpu.js

Running on MacOS following these install steps:

  1. install nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash then open a new shell session.
  2. nvm install 16
  3. nvm use 16
  4. brew install yarn [OR] npm install --global yarn
  5. yarn add gpu.js
node gpu-test.js

Test file example gpu-test.js:

const { GPU } = require('gpu.js');
const gpu = new GPU();
const multiplyMatrix = gpu.createKernel(function(a, b) {
    let sum = 0;
    for (let i = 0; i < 2; i++) {
        sum += a[this.thread.y][i] * b[i][this.thread.x];
    }
    return sum;
}).setOutput([2, 2]);

const a = new Array(2).fill(new Array(2).fill(1));
const c = multiplyMatrix(a, a);

console.log(a);
console.log(c);

output gpu.js on macOS

Stephen Blum
  • 6,498
  • 2
  • 34
  • 46
  • For centos (yum) there were missing libs: 1. `sudo yum install libXi-devel mesa-libGL-devel` 2. `nvm install 18.12.1` 3. `nvm use v18.12.1` 4. `sudo yarn add gpu.js` – Stephen Blum May 15 '23 at 20:29
0

I ran into this issue from a web development context via node-sass or gulp-sass which uses the gyp library that fails to install. tldr; too old, upgrade to sass which will avoid the gyp issue

Did some deep investigating on the issue. Several people may have ran into this issue because they're attempting to use gulp-sass which depends on node-sass in their development and along the way this gyp issue popped up.

Initially in the gulp-sass installation an error popped up complaining that python2.7 was not installed in my computer. Once I installed that, the gyp issue showed up due to an incompatability of the newest node and gyp. My solution was to use the newest gulp with the newest sass. Hope this helps anyone who arrived here from web development.

DFeng
  • 347
  • 3
  • 5
0

You probably need to change node-sass to sass in your package.json as stated on node-sass's official page (see here):

Warning: LibSass and Node Sass are deprecated. While they will continue to receive maintenance releases indefinitely, there are no plans to add additional features or compatibility with any new CSS or Sass features. Projects that still use it should move onto Dart Sass.

younes zeboudj
  • 856
  • 12
  • 22
0

I found a solution: 1、install corresponding version of node-sass;

see:https://www.npmjs.com/package/node-sass

2、install latest version of sass-loader;

see:https://www.npmjs.com/package/sass-loader

3、install python and add into PATH;

4、run npm install;

Chenxi
  • 171
  • 1
  • 4
-1

For MAC ONLY

Step: 1

sudo rm -r -f /Library/Developer/CommandLineTools

Step: 2

sudo xcode-select --switch /Library/Developer/CommandLineTools/
SkrewEverything
  • 2,393
  • 1
  • 19
  • 50
  • How can this be helpful? Do you mind explaining your solution. You should this command before --switch command above `xcode-select --install` – Sam Jan 09 '21 at 10:00
-1

If you watch some sort of old tutorial and want to install webworker-threads from NPM, you should know that it's a part of Node JS.

const { Worker } = require('worker_threads');

You can see more about differences here https://nodejs.org/api/worker_threads.html