
> [email protected] install /home/johnsoct/bobtail/node_modules/libpq
> node-gyp rebuild
/home/johnsoct/.nvm/versions/node/v12.22.4/lib/node_modules/npm/node_modules/npm-lifecycle/node-gyp-bin/node-gyp: line 5: /usr/local/lib/node_modules/node-gyp/bin/node-gyp.js: No such file or directory
Ich habe den Fehler gelesen, und nein, unter /usr/local/lib/... ist nichts installiert. Wenn ich node-gyp global installiere, wird es dort nicht installiert.
Ich habe es versucht:
- Neuinstallation von Postgres (https://fedoraproject.org/wiki/PostgreSQL)
- Installieren von libpq für Fedora
- 512394823094 Mal neu gestartet
- node_modules entfernen und neu installieren (immer und immer wieder, in der Hoffnung, dass etwas Magisches passiert)
- Entfernen von package-lock.json und Neuinstallation
- einige andere Sachen, die ich längst vergessen habe
Ein kleiner Hinweis, den ich kenne: Das Paket, das NICHT installiert wird, npm install
ist pg-native
. Ich bin mir nicht sicher, ob das einen Unterschied macht, aber ich nehme an, dass es damit zusammenhängt, da libpq
es im Installationsbericht erwähnt wird.
Falls es Sie interessiert, so sieht mein PATH aus (ich habe Postgres ursprünglich mit Linuxbrew installiert und deinstalliert):
/home/johnsoct/bin:/usr/pgsql-10/bin:/usr/pgsql-10/bin:/home/linuxbrew/.linuxbrew/opt/postgresql@10/bin:/home/johnsoct/bin:/home/linuxbrew/.linuxbrew/opt/postgresql@10/bin:/home/johnsoct/.nvm/versions/node/v12.22.4/bin:/home/johnsoct/.local/bin:/home/johnsoct/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/var/lib/snapd/snap/bin
Jeder Ratschlag/Vorschlag wäre wirklich hilfreich … Ich verliere hier den Verstand.
Antwort1
Das ist sehr weit hergeholt, aber da ich beim Erstellen von libpq mit node-gyp dieselben Probleme hatte, dachte ich, ich teile meine Lösung trotzdem, nur für den Fall.
Meine Fehlerausgabe sah folgendermaßen aus:
$ npm install
npm ERR! code 1
npm ERR! path /home/ekik/Source/home/grafana/node_modules/libpq
npm ERR! command failed
npm ERR! command sh -c -- node-gyp rebuild
npm ERR! node:internal/modules/cjs/loader:936
npm ERR! throw err;
npm ERR! ^
npm ERR!
npm ERR! Error: Cannot find module 'object-assign'
npm ERR! Require stack:
Es begann, als ich unter Manjaro Linux von NodeJS 14 auf 16 oder 18 aktualisierte. Anscheinend verwendet das mitgelieferte Node-Gyp-Paket jede Menge veraltetes Zeug (gesammelt aus den npm-Installationsprotokollen), das anscheinend nicht (mehr) standardmäßig installiert ist.
Meine wirklich schmutzige Lösung war einfach:
sudo npm install --global object-assign code-point-at number-is-nan request
Bitte beachten Sie, dass hierdurch Ihre globalen Knotenmodule verunreinigt werden.