如何修复Windows 10上的电子sqlite3重建错误(语法错误)

时间:2018-11-29 04:12:21

标签: node.js sqlite electron rebuild

所以我以管理员身份运行npm install --global windows-build-tools,它说我已经成功安装了python 2.7。

但是当我在electron-rebuild -f -w sqlite3之后尝试npm i sqlite3时,却出现了这个错误。

  

×重建失败

     

电子重建过程中发生未处理的错误

     

gyp错误!配置错误

     

gyp错误!堆栈错误:命令失败:   C:\ Users \ newub \ AppData \ Local \ Programs \ Python \ Python37 \ python.EXE -c   进口系统;打印“%s。%s。%s”%sys.version_info [:3];

     

gyp错误!堆叠文件“”,第1行

     

gyp错误!堆栈导入系统;打印“%s。%s。%s”%   sys.version_info [:3];

     

gyp错误!堆叠^

     

gyp错误!堆栈SyntaxError:语法无效

2 个答案:

答案 0 :(得分:0)

它显示node-gyp在系统中使用python 3。

但是node-gyp需要python 2。

您可以在$ Path环境变量中的python 3 Path之前添加python 2 Path。

在cmd中输入which python,确保它是python 2。

答案 1 :(得分:0)

根据您正在使用Python 3.7的消息,但是这些代码需要Python 2.7才能运行。

  

您可以通过以下其中一种方式确定应使用哪个Python版本node-gyp

     
      
  1. 如果通过node-gyp调用npm,则安装了多个Python版本,则可以设置npm的'python'配置   适当值的关键:
  2.   
     

$ npm config set python /path/to/executable/python 
     
      
  1. 如果将PYTHON环境变量设置为Python可执行文件的路径,则将使用该版本(如果兼容)   版本。

  2.   
  3. 如果将NODE_GYP_FORCE_PYTHON环境变量设置为Python可执行文件的路径,则将使用它代替任何   其他已配置或内置的Python搜索路径。如果不是   兼容版本,将不再进行搜索。

  4.   

您可以在cmd分配环境变量中使用set命令。

PS:在Windows中使用node-gyp需要Visual C++ build toolsPython 2.7(不支持v3.x.x)和一些配置。您可以

  

使用Microsoft的工具安装所有必需的工具和配置   通过从运行npm install -g windows-build-tools运行Windows-build-tools   提升的PowerShell(以管理员身份运行)。

请参阅:

  

设置python版本:nodejs/node-gyp: Node.js native addon build tool

     

环境设置和配置:nodejs-guidelines/windows-environment.md at master · microsoft/nodejs-guidelines