You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7虚拟机部署Nominatim服务器:数据导入报错求助

解决Nominatim导入时的"Scripts must be run from build directory"错误

别着急,这个错误本质是Nominatim的脚本需要依赖编译过程中生成的配置文件和二进制文件,必须在编译时创建的build目录下执行。我来给你理清楚这个目录到底在哪:

什么是Nominatim的build目录?

Nominatim推荐采用「out-of-source编译」的方式,也就是你会单独创建一个目录来存放编译生成的文件(和源码目录分开)。这个专门用来编译的目录就是所谓的build目录。

怎么找到你的build目录?

  1. 回忆编译步骤:如果你是按照官方指南操作的,通常会有类似这样的流程:

    # 克隆源码
    git clone https://github.com/openstreetmap/Nominatim.git
    cd Nominatim
    # 创建build目录
    mkdir build
    cd build
    # 编译配置&编译
    cmake ..
    make
    

    这里的Nominatim/build就是你要找的目录——也就是你当初运行cmake和make命令的那个目录。

  2. 特征识别:如果你忘了具体路径,找包含这些文件的目录:

    • Makefile(编译生成的)
    • CMakeCache.txt
    • nominatim二进制可执行文件
    • 编译生成的utils子目录

正确的操作方式

找到build目录后,cd进入该目录,再执行你的导入命令。比如:

cd /path/to/your/nominatim-build
# 举个导入命令的例子,根据你的实际命令调整
./utils/setup.php --osm-file your-osm-data.pbf --all

所有Nominatim的管理脚本(导入、更新、维护)都需要在这个build目录下运行,因为它们依赖编译时生成的环境配置和文件。

内容的提问来源于stack exchange,提问作者Federico Alvarez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 09:17:49