我正在尝试为演示应用程序设置
TensorFlow
,但是我在构建它时遇到一些问题,每当我npm install @tensorflow/tfjs-node
:时,我都会收到以下错误
CPU-windows-2.8.1.zip
* Downloading libtensorflow
[==============================] 34893663/bps 100% 0.0s
* Building TensorFlow Node.js bindings
node-pre-gyp install failed with error: Error: Command failed: node-pre-gyp install --fallback-to-build
node-pre-gyp WARN Using needle for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v5/2.8.1/CPU-windows-2.8.1.zip
node-pre-gyp WARN Pre-built binaries not found for @tensorflow/[email protected] and [email protected] (node-v72 ABI, unknown) (falling back to source compile with node-gy
p)
gyp ERR! build error
gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\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:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:272:12)
gyp ERR! System Windows_NT 10.0.18363
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "build" "--fallback-
to-build" "--module=C:\\Users\\MyUser\\WebstormProjects\\baseball\\node_modules\\@tensorflow\\tfjs-node\\lib\\napi-v5\\tfjs_binding.node" "--module_name=tfjs_binding"
"--module_path=C:\\Users\\MyUser\\WebstormProjects\\baseball\\node_modules\\@tensorflow\\tfjs-node\\lib\\napi-v5" "--napi_version=5" "--node_abi_napi=napi" "--napi_b
uild_version=5" "--node_napi_label=napi-v5"
gyp ERR! cwd C:\Users\MyUser\WebstormProjects\baseball\node_modules\@tensorflow\tfjs-node
gyp ERR! node -v v12.13.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files\nodejs\node.exe C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js bu
ild --fallback-to-build --module=C:\Users\MyUser\WebstormProjects\baseball\node_modules\@tensorflow\tfjs-node\lib\napi-v5\tfjs_binding.node --module_name=tfjs_binding
--module_path=C:\Users\MyUser\WebstormProjects\baseball\node_modules\@tensorflow\tfjs-node\lib\napi-v5 --napi_version=5 --node_abi_napi=napi --napi_build_version=5 -
-node_napi_label=napi-v5' (1)
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (C:\Users\MyUser\WebstormProjects\baseball\node_modules\node-pre-gyp\lib\util\compile.js:83:29)
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:210:5)
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1021:16)
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:283:5)
node-pre-gyp ERR! System Windows_NT 10.0.18363
node-pre-gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\MyUser\\WebstormProjects\\baseball\\node_modules\\node-pre-gyp\\bin\\node-pre-gyp" "instal
l" "--fallback-to-build"
node-pre-gyp ERR! cwd C:\Users\MyUser\WebstormProjects\baseball\node_modules\@tensorflow\tfjs-node
node-pre-gyp ERR! node -v v12.13.0
node-pre-gyp ERR! node-pre-gyp -v v0.14.0
node-pre-gyp ERR! not ok
节点版本:12.13.0
我的操作系统是 Windows
Python --版本: Python 2.7.18
谁能告诉我我做错了什么?
更新
所以我查看了错误并发现了一个微小的细节:
这一行:
node-pre-gyp WARN Tried to download(404): https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v5/2.8.1/CPU-windows-2.8.1.zip
如果我访问该 URL,我会正确地得到 404(或未找到页面)
所以可能是这样?如何找到该文件?
根据错误:
node-pre-gyp WARN Tried to download(404): https://storage.googleapis.com/tf-builds/pre-built-binary/napi-v5/2.8.1/CPU-windows-2.8.1.zip
并且基于这个问题,您的先决条件安装似乎可能存在一些问题。因此,以下链接可能可以帮助您解决问题:
安装node-gpu时出错(这个问题是关于gpu的,但主要问题与你的问题相同)
您必须安装 python 3,使用您拥有的 python 版本无法构建 TensorFlow。 https://www.tensorflow.org/install
我遇到了同样的问题,当我使用
python 3
而不是 python 2
时,它对我有用。
尝试安装Python3.8.3
考虑到我的不同设置(我在 macOS Catalina 上),一个干净项目上的
npm install @tensorflow/tfjs-node
会导致 node-pre-gyp install failed with error: Error: Command failed: node-pre-gyp install --fallback-to-build
,因为工作文件夹的父文件夹之一的名称中包含空格。显然这种情况在 2021 年仍然会发生。
转向更传统的路径解决了这个问题。
在 2025 年的 macOS ventura 上,安装 Xcode 命令行工具解决了我的问题
xcode-select --install