2017-02-01 1 views
0

Je développe un projet avec Electron et serialport.Erreur dans le port série d'electron-rebuild sur Windows

La bibliothèque sérielle ne fonctionne pas automatiquement. En recherchant dans le fichier Readme.md, je découvre ce qui est nécessaire pour recompiler la librairie pour la version NodeJS d'electron, en utilisant la librairie electron-rebuild. (Insérer ce script dans le package.json: "install": "electron-rebuild"). La reconstruction d'électrons nécessite un python installé sur l'ordinateur. J'ai donc installé windows-build-tools. (Installé à l'échelle mondiale)

Alors maintenant, quand je lance la commande npm install je reçois cette erreur:

× Rebuild Failed 
An unhandled error occurred inside electron-rebuild 
gyp ERR! configure error 
gyp ERR! stack Error: spawn C:\Users\Leonardo Guimar�es\.windows-build-tools\python27\python.exe ENOENT 
gyp ERR! stack  at exports._errnoException (util.js:1022:11) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) 
gyp ERR! stack  at onErrorNT (internal/child_process.js:359:16) 
gyp ERR! stack  at _combinedTickCallback (internal/process/next_tick.js:74:11) 
gyp ERR! stack  at process._tickCallback (internal/process/next_tick.js:98:9) 
gyp ERR! System Windows_NT 10.0.14393 
gyp ERR! command "D:\\nodejs\\node.exe" "D:\\ElectronWorkspace\\PATH_TO_App\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=1.5.0" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--module_name=serialport" "--module_path=D:\\ElectronWorkspace\\PATH_TO_App\\node_modules\\serialport\\build\\Release" "--host=https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7" 
gyp ERR! cwd D:\ElectronWorkspace\PATH_TO_App\node_modules\serialport 
gyp ERR! node -v v6.9.4 
gyp ERR! node-gyp -v v3.5.0 
gyp ERR! not ok 

Failed with exit code: 1 

Error: gyp ERR! configure error 
gyp ERR! stack Error: spawn C:\Users\Leonardo Guimar�es\.windows-build-tools\python27\python.exe ENOENT 
gyp ERR! stack  at exports._errnoException (util.js:1022:11) 
gyp ERR! stack  at Process.ChildProcess._handle.onexit (internal/child_process.js:193:32) 
gyp ERR! stack  at onErrorNT (internal/child_process.js:359:16) 
gyp ERR! stack  at _combinedTickCallback (internal/process/next_tick.js:74:11) 
gyp ERR! stack  at process._tickCallback (internal/process/next_tick.js:98:9) 
gyp ERR! System Windows_NT 10.0.14393 
gyp ERR! command "D:\\nodejs\\node.exe" "D:\\ElectronWorkspace\\PATH_TO_App\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--target=1.5.0" "--arch=x64" "--dist-url=https://atom.io/download/electron" "--build-from-source" "--module_name=serialport" "--module_path=D:\\ElectronWorkspace\\PATH_TO_App\\node_modules\\serialport\\build\\Release" "--host=https://github.com/EmergingTechnologyAdvisors/node-serialport/releases/download/4.0.7" 
gyp ERR! cwd D:\ElectronWorkspace\PATH_TO_App\node_modules\serialport 
gyp ERR! node -v v6.9.4 
gyp ERR! node-gyp -v v3.5.0 
gyp ERR! not ok 

Failed with exit code: 1 
    at SafeSubscriber.obs.subscribe.e [as _error] (D:\ElectronWorkspace\PATH_TO_App\node_modules\spawn-rx\lib\index.js:311:43) 
    at SafeSubscriber.__tryOrUnsub (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:223:16) 
    at SafeSubscriber.error (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:184:26) 
    at Subscriber._error (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:128:26) 
    at Subscriber.error (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:102:18) 
    at MapSubscriber.Subscriber._error (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:128:26) 
    at MapSubscriber.Subscriber.error (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:102:18) 
    at SafeSubscriber.pipesClosed.subscribe [as _next] (D:\ElectronWorkspace\PATH_TO_App\node_modules\spawn-rx\lib\index.js:284:42) 
    at SafeSubscriber.__tryOrSetError (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:232:16) 
    at SafeSubscriber.next (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:174:27) 
    at Subscriber._next (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:125:26) 
    at Subscriber.next (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:89:18) 
    at ReduceSubscriber._complete (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\operator\reduce.js:116:30) 
    at ReduceSubscriber.Subscriber.complete (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:114:18) 
    at MergeAllSubscriber._complete (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\operator\mergeAll.js:94:30) 
    at MergeAllSubscriber.Subscriber.complete (D:\ElectronWorkspace\PATH_TO_App\node_modules\rxjs\Subscriber.js:114:18) 

Comment puis-je compiler cette bibliothèque? Merci d'avance!

Répondre

1

J'ai réussi à compiler serialport sur Windows 10 x64 pour Electron 1.4.14 en suivant ces étapes. Cela a fonctionné il y a une semaine, donc je ne suis pas sûr que quelque chose ait changé entre-temps. J'ai besoin de Windows 10 SDK, C++ Common Tools (inclus dans Visual Studio Community 2015) pour electron-rebuild en premier. Python 2.x est également requis. Puis j'ai installé electron-rebuild et serialport en utilisant npm (utilisez l'option --save-dev).

Puis j'ai supprimé les fichiers du node_modules/serialport/build/Release/* dans mon dossier de candidature et enfin aller dans le dossier node_modules/.bin dans votre projet et exécutez la commande:

electron-rebuild -v 1.4.14 -e node_modules/electron-prebuilt -f et les fichiers que j'ai supprimé est apparu à nouveau, mais reconstruit pour la version actuelle. Assurez-vous de spécifier la version Electron correcte que vous utilisez.