无法为 `neon-sys 运行自定义构建命令

时间:2021-05-05 15:53:34

标签: rust rust-cargo

我正在尝试为 IOTA 钱包运行 firefly 应用程序,当我在 firefly-develop\packages\backend\bindings\node 中执行 yarn 时,您收到此错误:

    error: failed to run custom build command for `neon-sys v0.5.3`

Caused by:
  process didn't exit successfully: `D:\firefly-develop\packages\backend\bindings\node\native\target\release\build\neon-sys-7520d4ebecff611a\build-script-build` (exit code: 1)
  --- stdout
  'Skipping node-gyp installation as part of npm install.'
  cargo:node_root_dir=C:\\Users\\lemon\\.electron-gyp\\9.4.4
  cargo:node_lib_file=C:\\\\Users\\\\lemon\\\\.electron-gyp\\\\9.4.4\\\\<(target_arch)\\\\node.lib
  cargo:node_arch=x64
  TARGET = Some("x86_64-pc-windows-msvc")
  HOST = Some("x86_64-pc-windows-msvc")
  AR_x86_64-pc-windows-msvc = None
  AR_x86_64_pc_windows_msvc = None
  HOST_AR = None
  AR = None
  running: "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX64\\x64\\lib.exe" "-out:D:\\firefly-develop\\packages\\backend\\bindings\\node\\native\\target\\release\\build\\neon-sys-1c82f1d04dd3c65f\\out\\libneon.a" "-nologo" "D:\\firefly-develop\\packages\\backend\\bindings\\node\\native\\target\\release\\build\\neon-sys-1c82f1d04dd3c65f\\out\\native\\build\\Release\\obj\\neon\\neon.obj"
  LINK : fatal error LNK1181: cannot open input file 'D:\firefly-develop\packages\backend\bindings\node\native\target\release\build\neon-sys-1c82f1d04dd3c65f\out\native\build\Release\obj\neon\neon.obj'
  exit code: 1181

  --- stderr


  error occurred: Command "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\BuildTools\\VC\\Tools\\MSVC\\14.28.29910\\bin\\HostX64\\x64\\lib.exe" "-out:D:\\firefly-develop\\packages\\backend\\bindings\\node\\native\\target\\release\\build\\neon-sys-1c82f1d04dd3c65f\\out\\libneon.a" "-nologo" "D:\\firefly-develop\\packages\\backend\\bindings\\node\\native\\target\\release\\build\\neon-sys-1c82f1d04dd3c65f\\out\\native\\build\\Release\\obj\\neon\\neon.obj" with args "lib.exe" did not execute successfully (status code exit code: 1181).

1 个答案:

答案 0 :(得分:1)

您正在运行 Visual Studio 2019 工具。您需要安装 Visual Studio 2017 工具,启动(我假设您正在构建 x64)“VS 2017 的 x64 本机工具命令提示符”并在该命令框中构建所有内容。

直接从 Microsoft 下载 VS 2017 工具,然后使用它安装的命令框来运行您的构建。不要通过“npm install -g windows-build-tools”安装它们,因为这是旧兼容性问题的另一个令人头疼的问题,尤其是当您已经安装了 VS 2019 时。 Neon 动态设置的构建特别需要旧的运行时和这些旧的构建工具。你的申请?是的,您还需要在这些命令框中构建它。

如果您感到特别无聊,真正的解决方案是设置所有环境变量和路径,以在您使用的任何 shell 中专门选择 VS2017 工具而不是 VS2019 工具。他们曾经提供“vcvars.bat”或一些可以做到这一点的东西。我把它留给读者作为练习。

相关问题