我正在完成openlayers自定义构建教程,但收到以下错误
info ol Parsing dependencies
info ol Compiling 345 sources
events.js:141
throw er; // Unhandled 'error' event
^
Error: spawn java ENOENT
at exports._errnoException (util.js:870:11)
at Process.ChildProcess._handle.onexit
(internal/child_process.js:178:32)
at onErrorNT (internal/child_process.js:344:16)
at nextTickCallbackWith2Args (node.js:441:9)
at process._tickCallback (node.js:355:17)
Exit 1
当我运行时:
node tasks/build.js build/ol-custom.json build/ol-custom.js
谷歌搜索错误给出了一个解决方案,它可能是在后台运行的另一个节点实例(没有(
此外,教程说闭包util应该在:
node_modules/openlayers/node_modules
但它实际上在:
node_modules/closure-util
知道为什么会这样吗?
事实证明,java 在我的道路上没有正确设置,因此无法构建。请记住使用 java 版本检查您的环境。
在 Ubuntu 上,您可以安装 java 11(使用此版本(:
sudo apt install openjdk-11-jre-headless
它应该返回:
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)
然后你可以再次运行:
node tasks/build.js build/ol-custom.json build/ol-custom.js