19
votes

I just downloaded the latest version of node.js and I've been trying to do npm install on one of my projects but saying:

Failed at the [email protected] postinstall script.

I tried doing: npm rebuild node-sass --force which didn't do anything either.

enter image description here

The error log returns this:

3209 warn [email protected] requires a peer of @angular/common@^6.0.0 
but none is installed. You must install peer dependencies yourself.
3210 warn [email protected] requires a peer of @angular/core@^6.0.0 but none is installed. You must install peer dependencies yourself.
3211 warn [email protected] requires a peer of @angular/platform-browser@^6.0.0 but none is installed. You must install peer dependencies yourself.
3212 warn [email protected] requires a peer of @angular/platform-browser-dynamic@^6.0.0 but none is installed. You must install peer dependencies yourself.
3213 warn [email protected] requires a peer of firebase@^5.0.3 but none is installed. You must install peer dependencies yourself.
3214 warn [email protected] requires a peer of rxjs@^6.0.0 but none is installed. You must install peer dependencies yourself.
3215 warn [email protected] requires a peer of firebase@^2.4.0 || 3.x.x but none is installed. You must install peer dependencies yourself.
3216 warn optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules\fsevents):
3217 warn notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid OS:    darwin
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Valid Arch:  any
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual OS:   win32
3218 verbose notsup SKIPPING OPTIONAL DEPENDENCY: Actual Arch: x64
3219 verbose stack Error: [email protected] postinstall: `node scripts/build.js`
3219 verbose stack Exit status 1
3219 verbose stack     at EventEmitter.<anonymous> (C:\Users\Simon K\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\index.js:283:16)
3219 verbose stack     at emitTwo (events.js:126:13)
3219 verbose stack     at EventEmitter.emit (events.js:214:7)
3219 verbose stack     at ChildProcess.<anonymous> (C:\Users\Simon K\AppData\Roaming\npm\node_modules\npm\node_modules\npm-lifecycle\lib\spawn.js:55:14)
3219 verbose stack     at emitTwo (events.js:126:13)
3219 verbose stack     at ChildProcess.emit (events.js:214:7)
3219 verbose stack     at maybeClose (internal/child_process.js:925:16)
3219 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
3220 verbose pkgid [email protected]
3221 verbose cwd C:\xampp\htdocs\project x\projectx
3222 verbose Windows_NT 10.0.16299
3223 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Simon K\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "install"
3224 verbose node v8.11.2
3225 verbose npm  v6.0.1
3226 error code ELIFECYCLE
3227 error errno 1
3228 error [email protected] postinstall: `node scripts/build.js`
3228 error Exit status 1
3229 error Failed at the [email protected] postinstall script.
3229 error This is probably not a problem with npm. There is likely additional logging output above.
3230 verbose exit [ 1, true ]

and my npm and node versions are:

2 info using [email protected]
3 info using [email protected]

I've also tried completely deleting my node_modules folder and running npm install again but that didn't work.

One possible reason for this could be that before I updated node I followed this persons suggestion: https://github.com/angular/angular-cli/issues/10527

Where he says:

  1. Download and save a local copy of the correct version of node-sass binary - win32-x64-64_binding.node. For example download it to the following location: C:\node-sass\win32-x64-64_binding.node
  2. Provide reference to the full path of the node-sass binary file in the sass_binary_path npm configuration parameter (in the ~/.npmrc file): npm config set sass_binary_path For example, npm config set sass_binary_path C:\node-sass\win32-x64-64_binding.node
  3. Run the npm install command again to install @angular/cli correctly.
  4. Execute ng serve or npm start and your should be past the problem.

I don't know if this is related.. I wouldn't think so since I've updated node, tried to force node-sass rebuild but I don't know.

Any ideas/advice on how to fix this? Thank you!

6

6 Answers

21
votes

try this

npm audit
npm audit fix
6
votes

Delete only node-sass folder from node_modules and run following command

npm install [email protected] --save
3
votes

There is no need to do much, you are facing this problem because you are trying to install npm [email protected] without knowing that whether it is compatible with the version of your pm so the best possible solution is to write the below-mentioned command npm install --save-dev node-sass This will install the npm sass on your system which is compatible with the npm version you have. Thanks, me later first, go and run the command

2
votes

Try running using this flag --unsafe-perm=true

npm i node-sass --unsafe-perm=true
2
votes

Try to check your Node version. Maybe you are using the wrong version. Use NVM for version management.

-1
votes

I had the same problem and I found the solution by reading the documentation of the version of that library, they recommend which versions of node should be used for the installation of that dependency. In my case I changed to node version 9.11.2 using "nvm" and after that I ran the command "npm i".

https://github.com/sass/node-sass/releases?after=v4.8.0

documentation node-sass 4.7.2