首页 > 解决方案 > npm install java: 错误 MSB4019: 未找到导入的项目“D:\Microsoft.Cpp.Default.props”

问题描述

我们正在尝试使用节点 java 桥来运行 java 应用程序..

如需求中所述,我们必须在节点项目中安装 java。

所以我正在运行

npm 安装 java

我已经运行了许多论坛中建议的以下命令,例如

npm install --global windows-build-tools
npm install -g nw-gyp

低于异常。

PS D> npm install java

java@0.10.0 安装 D:\nodebrigde\node_modules\java node-gyp 重建

D:\\nodebrigde\node_modules\java>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\no
de_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild )
Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch.
D:\nodebrigde\node_modules\java\build\nodejavabridge_bindings.vcxproj(20,3): error MSB4019: The imported project "D:\Microsoft.Cpp.Default.props" was not found. Co
nfirm that the path in the <Import> declaration is correct, and that the file exists on disk.
gyp ERR! build error
gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack     at emitTwo (events.js:126:13)
gyp ERR! stack     at ChildProcess.emit (events.js:214:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.15063
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd D:\nodebrigde\node_modules\java
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! java@0.10.0 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the java@0.10.0 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\AppData\Roaming\npm-cache\_logs\2018-06-25T10_03_58_299Z-debug.log

如果可能的话,请详细建议,因为我是角度/节点的新手

标签: javanode.jsnpmbridgenode-java

解决方案


最初于 2020 年 3 月为 windows 编写。

  1. 跑:

    npm install --global --production windows-build-tools@4.0.0

  2. 添加名为“VCTargetsPath”的环境变量,其值为 Microsoft.Cpp.Default.props 文件夹的路径值。在我的电脑上是“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v140”。

  3. 再次尝试下载包

===

编辑:

我已经知道这可以通过给节点提供 python 的路径来解决。(我认为版本不重要?)。尝试运行:

npm config set python path\to\file\python.exe

推荐阅读