Finding/specifying gdal 在 travis-ci 构建中的安装路径

Finding/specifying Installation path of gdal in a travis-ci build

在我维护的包中 (https://github.com/lbusett/MODIStsp),我使用 gdalUtils 包作为 gdal 实用程序的包装器。问题是我找不到 运行 我的测试套件和 TRAVIS-CI 上的示例的方法。这似乎与路径上找不到 gdal 安装文件夹有关,因此我收到以下错误:

Warning in gdalUtils::gdal_setInstallation(ignore.full_scan = TRUE)
No GDAL installation found. Please install 'gdal' before continuing:
- www.gdal.org (no HDF4 support!)
- www.trac.osgeo.org/osgeo4w/ (with HDF4 support RECOMMENDED)
- www.fwtools.maptools.org (with HDF4 support)

(完整构建日志见此处:https://travis-ci.org/lbusett/MODIStsp/jobs/318037312

gdalUtils::gdal_setInstallation() 应该首先使用 sys.which() 搜索有效的 gdal 安装,然后(如果失败)查找 "typical" 安装路径(参见 https://www.rdocumentation.org/packages/gdalUtils/versions/2.0.1.7/topics/gdal_setInstallation).

除了 gdal(显然)在构建中使用以下 travis.yml 配置安装在 travis 上之外,还会发生这种情况:

{
  "language": "r",
  "cache": "packages",
  "warnings_are_errors": false,
  "before_install": [
    "sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable --yes",
    "sudo add-apt-repository -y ppa:opencpu/jq --yes",
    "sudo apt-get -qq update",
    "sudo apt-get install -y libgdal-dev libproj-dev",
    "export DISPLAY=:99.0",
    "sh -e /etc/init.d/xvfb start"
  ],
  "group": "stable",
  "dist": "trusty",
  "apt_packages": [
    "libgdal-dev",
    "libproj-dev",
    "libcairo2-dev",
    "libatk1.0-dev",
    "libpango1.0-dev",
    "libgtk2.0-dev",
    "libglib2.0-dev",
    "libcurl4-openssl-dev"
  ],
  "env": "global=[\"R_LIBS=\\"http://cran.rstudio.com\\"\", \"R_BUILD_ARGS=\\"--no-build-vignettes --no-manual\\"\", \"R_CHECK_ARGS=\\"--no-build-vignettes --no-manual --as-cran\\"\", \"R_CHECK_TIMINGS_=\\"0\\"\", \"BOOTSTRAP_LATEX=\\"1\\"\"]",
  "os": "linux",
  "r_binary_packages": [
    "cairoDevice",
    "RGtk2"
  ],
  "sudo": "required"
}

你有什么解决问题的建议吗?我是否需要以某种方式在 travis.yml 脚本中将 PATH 设置为 gdal?如果是这样,我怎么能找到 gdal 的安装位置? (我尝试在 yml 中添加类似 "PATH=\"/usr/local/gdal/bin:$PATH\"" 的行,但它没有用。

在此先感谢您的帮助!

最后在yaml槽中简单的添加gdal-bin的安装就解决了问题:

sudo apt-get install -y gdal-bin

(感谢 Benjamin 在 r-pkg-devel 邮件列表上提供解决方案)