dawn
dawn

Reputation: 1005

npm install with error: `gyp` failed with exit code: 1

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 [email protected] No repository field.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] 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.

Upvotes: 79

Views: 215915

Answers (29)

Artem Ptushkin
Artem Ptushkin

Reputation: 1299

For me on Mac the fix was brew install python-setuptools from here

Upvotes: 0

Vinayakkumar
Vinayakkumar

Reputation: 6520

This worked for me

$ export NODE_TLS_REJECT_UNAUTHORIZED='0'

$ npm i --ignore-script 

Upvotes: 1

Matt Doran
Matt Doran

Reputation: 2153

For me I was on

  • M1 mac
  • node version 0.10.48
  • ubuntu official docker image

and the command that caused the error was

npm install -g [email protected]

the fix was to untick "Use Rosetta ..." from Docker and click Apply & Restart

enter image description here

Upvotes: 0

Kaizen
Kaizen

Reputation: 1

I had the same error in my project. The thing is package.json is already installed and dependencies are defined. I found the solution in this article.

https://sebhastian.com/npm-err-code-1/

It suggests to run npx npm-check-updates to update dependencies one by one. Then run npx npm-check-updates -u to update package.json. Then 'npm install' and it runs fine. No error.

Upvotes: 0

Chenxi
Chenxi

Reputation: 171

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;

Upvotes: 0

younes zeboudj
younes zeboudj

Reputation: 924

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.

Upvotes: 1

DFeng
DFeng

Reputation: 415

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.

Upvotes: 1

misterGrosar
misterGrosar

Reputation: 304

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

Upvotes: 3

Stephen Blum
Stephen Blum

Reputation: 6834

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

Upvotes: 0

Tudor Lehene
Tudor Lehene

Reputation: 1

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.

Upvotes: 0

Stanley Ulili
Stanley Ulili

Reputation: 1414

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

Upvotes: 0

Arghya C
Arghya C

Reputation: 10078

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

Upvotes: 0

JMatos0014
JMatos0014

Reputation: 171

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.

Upvotes: 17

spidey
spidey

Reputation: 141

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.

Upvotes: 0

Mohan Lar
Mohan Lar

Reputation: 271

$ npm i --ignore-script 

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

Upvotes: 27

Skip van &#39;t Hof
Skip van &#39;t Hof

Reputation: 26

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

Upvotes: 0

Viktor Poliushko
Viktor Poliushko

Reputation: 39

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

Upvotes: -1

Jaykumar Patil
Jaykumar Patil

Reputation: 359

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

Upvotes: 2

Shivam Marmat
Shivam Marmat

Reputation: 41

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

Upvotes: 4

de_gentleman
de_gentleman

Reputation: 59

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

npm update
npm install

Upvotes: 4

Utkarsh Aman
Utkarsh Aman

Reputation: 11

For MAC ONLY

Step: 1

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

Step: 2

sudo xcode-select --switch /Library/Developer/CommandLineTools/

Upvotes: -1

Ehsan Ahmadi
Ehsan Ahmadi

Reputation: 1498

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"

Upvotes: 16

user728650
user728650

Reputation: 1986

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

Upvotes: 102

Daeron Malnwe
Daeron Malnwe

Reputation: 1

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

Upvotes: 0

Azlan Jamal
Azlan Jamal

Reputation: 2818

this works for me. run command below one by one

rm -rf node_modules
rm package-lock.json
npm update
npm install

Upvotes: 47

Aditya Kresna Permana
Aditya Kresna Permana

Reputation: 12109

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

Upvotes: 0

Dipten
Dipten

Reputation: 1066

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

Upvotes: 1

mohammad javad ahmadi
mohammad javad ahmadi

Reputation: 2081

I think delete this directory is better:

rm -rf ~/.node-gyp/
rm -r node_modules/.bin/;
rm -r build/
npm install <your module>

Upvotes: 4

Soheil
Soheil

Reputation: 101

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

rm -R ~/.node-gyp

Upvotes: 10

Related Questions