webentwicklung-frage-antwort-db.com.de

prerender konnte nicht mit npm installiert werden - "CL.exe konnte nicht gefunden werden"

Ich habe versucht, PreRender.Io zum Testen auf meinem lokalen Computer zu installieren. Ich habe Python 2.7.10 installiert. Wenn ich tippe:

npm install prerender

Es gibt einen Fehler:

C:\PreRender\node_modules\prerender\node_modules\phantom\node_modules\dnode\node
_modules\weak>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\
node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js"
rebuild )  else (node  rebuild )
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
TRACKER : error TRK0005: Failed to locate: "CL.exe". The system cannot find the
 file specified. [C:\PreRender\node_modules\prerender\node_modules\phantom\node
_modules\dnode\node_modules\weak\build\weakref.vcxproj]


gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` fail
ed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\
npm\node_modules\node-gyp\lib\build.js:269:23)
gyp ERR! stack     at ChildProcess.emit (events.js:110:17)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (child_process.js:1074
:12)
gyp ERR! System Windows_NT 6.1.7601

Ich konnte CL.exe nicht finden, und eine schnelle Suche bei Google scheint ein fehlender Visual C++ - Compiler zu sein. Ich habe jedoch versucht, beispielsweise VC++ 2008 Redistributable x86 zu installieren, aber immer noch dasselbe Problem.

Irgendeine Idee, was könnte falsch sein? Betriebssystem ist Windows 7 64-Bit.

25
Karl Cassar

Ich habe es geschafft, das Problem zu lösen, obwohl es ziemlich seltsam war. Ehrlich gesagt bin ich mir nicht sicher, welches das Problem vollständig gelöst hat, da ich einige Sachen gemacht habe. Ich hatte Visual Studio 2015 auf meinem Computer installiert. Nachfolgend eine Zusammenfassung dessen, was ich getan habe:

  • Installierter Visual C++ - Compiler aus der VS 2015-Installation. Standardmäßig wurde das Kontrollkästchen deaktiviert. Ich denke, das hat das Problem behoben.

  • Der Pfad wurde hinzugefügt, unter dem sich CL.exe (C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin) und stdlib.h (C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include) der UmgebungsvariablePATHbefinden.

  • Der npm install prerender wurde aus demDeveloper Command Promptin von Visual Studio 2015 ausgeführt, der im Administratormodus ausgeführt wird
53
Karl Cassar

Ich gehe gerade durch ein Angular JS-Tutorial und hatte dieses Problem, aber aus den Dokumenten ist ersichtlich, dass dies kein Problem ist:

"Nach einer Reihe von gyp ERR! -Nachrichten wird häufig eine npm-WARN-Meldung angezeigt. Ignorieren Sie sie. Ein Paket versucht möglicherweise, sich mithilfe von node-gyp selbst neu zu kompilieren. gebaute Version) und alles funktioniert. "

https://angular.io/guide/quickstart

0
Antfish

Für mich kam das Problem nach der Installation einer neuen Version des Knotens. npm install würde den obigen Fehler anzeigen. Dann bekam ich den Fehler oben, aber nicht für das Paket PreRender.Io, sondern für gulp-sass, obwohl ich glaube, dass das Problem die gleiche Wurzel hat. Um das Problem zu lösen, habe ich die vorherige Version des Knotens (6.9.5) installiert, die ich zuvor verwendet hatte, und dann verwaltete ich mit nvm die Knotenversionen wie hier beschrieben: https://www.sitepoint.com/quick-tip- mehrere-versionsknoten-nvm/

Der Wechsel zur vorherigen Version des Knotens mit nvm bedeutete, dass ich npm installieren konnte, ohne ein großes SDK installieren zu müssen, das ich nicht verwenden wollte.

0
johnstaveley