web-dev-qa-db-fra.com

Gatsby New n'installe pas le package Sharp et se casse

Je ne peux pas lancer un projet de démarrage Gatsby. Le processus de commande new tombe en panne lors de l'initialisation et entraîne une erreur et un projet non compilable.

Voici la commande:

> gatsby new gatsby-test

Le processus de suivi démarre, échouant lors de npm install lorsque le package pointu tente d'installer.

info Creating new site from git:
Cloning into 'gatsby-test'...
remote: Enumerating objects: 10, done.
remote: Counting objects: 100% (10/10), done.
remote: Compressing objects: 100% (6/6), done.
remote: Total 2309 (delta 4), reused 10 (delta 4), pack-reused 2299
Receiving objects: 100% (2309/2309), 12.62 MiB | 7.98 MiB/s, done.
Resolving deltas: 100% (1487/1487), done.
success Created starter directory layout
info Installing packages...

> [email protected] install /home/developer/projects/gatsby-test/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz
fs.js:114
    throw err;
    ^

Error: EACCES: permission denied, copyfile '/tmp/1890-libvips-8.8.1-linux-x64.tar.gz' -> '/home/developer/.npm/_libvips/libvips-8.8.1-linux-x64.tar.gz'
    at Object.copyFileSync (fs.js:1728:3)
    at WriteStream.<anonymous> (/home/developer/projects/gatsby-test/node_modules/sharp/install/libvips.js:104:16)
    at WriteStream.emit (events.js:198:13)
    at lazyFs.close (internal/fs/streams.js:207:14)
    at FSReqWrap.args [as oncomplete] (fs.js:140:20)
make: Entering directory '/home/developer/projects/gatsby-test/node_modules/sharp/build'
  TOUCH Release/obj.target/libvips-cpp.stamp
  CXX(target) Release/obj.target/sharp/src/common.o
In file included from ../src/common.cc:25:0:
/usr/include/vips/vips8:35:10: fatal error: glib-object.h: No such file or directory
 #include <glib-object.h>
          ^~~~~~~~~~~~~~~
compilation terminated.
sharp.target.mk:129: recipe for target 'Release/obj.target/sharp/src/common.o' failed
make: *** [Release/obj.target/sharp/src/common.o] Error 1
make: Leaving directory '/home/developer/projects/gatsby-test/node_modules/sharp/build'
gyp ERR! build error 
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (events.js:198:13)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:248:12)
gyp ERR! System Linux 4.15.0-70-generic
gyp ERR! command "/usr/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /home/developer/projects/gatsby-test/node_modules/sharp
gyp ERR! node -v v10.17.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok 
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":"linux","Arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: [email protected] (node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for [email protected]: wanted {"os":"darwin","Arch":"any"} (current: {"os":"linux","Arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] install: `(node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] install 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!     /home/developer/.npm/_logs/2019-11-18T16_45_16_026Z-debug.log

 ERROR 

Command failed with exit code 1: npm install



  Error: Command failed with exit code 1: npm install

  - error.js:56 makeError
    [lib]/[gatsby-cli]/[execa]/lib/error.js:56:11

  - index.js:114 handlePromise
    [lib]/[gatsby-cli]/[execa]/index.js:114:26

  - next_tick.js:68 process._tickCallback
    internal/process/next_tick.js:68:7

Une idée de ce qui se passe ici? J'ai vu qu'il y avait des problèmes avec sharp dans le passé mais c'est censé être un problème fermé et corrigé maintenant. Qu'est-ce que j'oublie ici?

3
aviya.developer

La ligne suivante:

Error: EACCES: permission denied, copyfile '/tmp/1890-libvips-8.8.1-linux-x64.tar.gz' -> '/home/developer/.npm/_libvips/libvips-8.8.1-linux-x64.tar.gz'

suggère que vous avez une erreur d'autorisation lors du déplacement du fichier tmp vers le répertoire local .npm de vos utilisateurs. Difficile de dire pourquoi c'est sans savoir plus de contexte sur quel utilisateur a exécuté la commande, etc.


La ligne suivante:

fatal error: glib-object.h: No such file or directory

suggère que vous n'avez pas sharp ou vips correctement installé.

npm install sharp

Pour Ubuntu:

Sudo apt-get install -y libvips-tools

Pour Mac:

brew update vips
1
Nick Bull

Pour résoudre ce problème, j'ai couru:

  • rm -rf node_modules
  • yarn cache clean
  • yarn add --dev yarn-upgrade-all
  • npx yarn-upgrade-all

Ensuite, j'ai réinstallé tous les packages nécessaires supprimés de package.json lorsque j'ai exécuté la commande pour mettre à niveau tous les packages. Ensuite, j'ai couru gatsby build et gatsby develop

0
Chiamaka Ikeanyi

Vous pouvez résoudre ce problème en exécutant ce qui suit dans votre terminal ...

rm -rf /Users/{username}/.npm/_libvips

brew install vips 

rm -rf node_modules

npm install
0
Shodipo Ayomide

J'ai eu le même problème. Je l'ai résolu en téléchargeant le package manuellement et en le collant

  1. téléchargez les libvips depuis https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz

  2. copiez la lib dans le dossier .npm

Sudo cp libvips-8.8.1-linux-x64.tar.gz /home/[VOTRENOM présumé/.npm/_libvips/

  1. supprimez votre dossier de test de gatsby cassé

  2. courir

gatsby nouveau test gatsby

encore

0
Wai Min