遇到生锈项目造成的电子问题

时间:2019-05-05 15:05:20

标签: rust electron

我找到了一个github项目,它与Rust一起运行电子程序,看起来很简单。但是,我无法成功构建它。
https://github.com/asaladino/electron-rust

当我尝试使用“ npm build”进行构建时,我失败了。

以下是我得到的:


PS D:_src.git \ electron-rust> npm安装

  

ref-napi@1.4.1安装D:_src.git \ electron-rust \ node_modules \ ref-napi
  node-gyp重建
  
  
  D:_src.git \ electron-rust \ node_modules \ ref-napi>如果未定义npm_config_node_gyp(节点“ C:\ Program Files \ nodejs \ node_modules \ npm \ node_modules \ npm-lifecycle \ node-gyp-bin \ ... 。\ node_modules \ node-gyp \ bin \ node-gyp.js“ rebuild)else(节点“ C:\ Program Files \ nodejs \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js” rebuild)
  糟糕!配置错误
  糟糕!堆栈错误:命令失败:C:\ ProgramData \ Anaconda3 \ python.EXE -c import sys;打印“%s。%s。%s”%sys.version_info [:3];
  糟糕!堆栈文件“”,第1行
  糟糕!堆栈导入系统;打印“%s。%s。%s”%sys.version_info [:3];
  糟糕!堆叠^
  糟糕!堆栈SyntaxError:语法无效
  糟糕!堆栈
  糟糕!堆栈在ChildProcess.exithandler(child_process.js:294:12)
  糟糕!堆栈在ChildProcess.emit(events.js:189:13)
  糟糕!在也许关闭处堆叠(internal / child_process.js:970:16)
  糟糕!堆栈位于Process.ChildProcess._handle.onexit(internal / child_process.js:259:5)
  糟糕!系统Windows_NT 10.0.17134
  糟糕!命令“ C:\ Program Files \ nodejs \ node.exe”“ C:\ Program Files \ nodejs \ node_modules \ npm \ node_modules \ node-gyp \ bin \ node-gyp.js”“重建”
  糟糕! CWD D:_src.git \电子除锈\ node_modules \ ref-napi
  糟糕!节点-v v10.15.1
  糟糕! node-gyp -v v3.8.0
  糟糕!不好
  npm WARN electro-rust@1.0.0没有存储库字段。
  
  npm ERR!代码ELIFECYCLE
  npm ERR! errno 1
  npm ERR! ref-napi@1.4.1安装:node-gyp rebuild
  npm ERR!退出状态1
  npm错误!
  npm ERR! ref-napi@1.4.1安装脚本失败。
  npm ERR! npm可能不是问题。上面可能还有其他日志记录输出。
  
  npm ERR!可以在以下位置找到此运行的完整日志:
  npm ERR! C:\ Users \ Chaokuo \ AppData \ Roaming \ npm-cache_logs \ 2019-05-05T14_44_35_607Z-debug.log

我也尝试过“电子”。然后电子应用程序出现了。但是,它可能不会调用Rust程序。开发人员模式控制台显示找不到模块'ffi-napi'。

1 个答案:

答案 0 :(得分:0)

可能要花很长时间。请确保遵循以下所有说明: https://github.com/nodejs/node-gyp

您的操作系统看起来像Windows,因此请尝试执行以下步骤:

npm install -g node-gyp
npm install --global --production windows-build-tools (could take some time)
npm config set python /path/to/executable/python2.7 (so that always use 2.7)
node-gyp configure 
node-gyp build

然后添加/编辑文件binding.gyp与package.json相同的位置,如下所示:

{
    "targets": [
    {
        "target_name": "binding",
        "sources": [ "src/binding.cc" ]
    }
    ]
}