1. 编译安装 Swig
Ubuntu
sudo apt-get install swig
Mac OS X
下载并解压swig source code。在解压后的目录中:
./configure --without-pcre
make && sudo make install
(或使用brew install。)
2. 下载并配置 GEOS
下载并解压GEOS source code。在解压后的目录中:
./configure --enable-ruby
查找显示Swig: true 和Ruby bindings: true 的状态行。
3. 编译安装GEOS
尝试编译安装:
make && sudo make install
(如果make 以错误library not found for -llibruby.2.0.0.dylib 结尾,这是由于GEOS(当前版本为3.4.2)中的错误。运行以下命令来修复您的configure 文件:
sed -i -e 's/RUBY_SO_NAME=.*/RUBY_SO_NAME=ruby/' configure
然后返回第 2 步。)
4. 设置链接
在您的 Ruby 中使用 require 'geos' 之前,您需要确保该库已正确链接。安装目录出现在sudo make install 的输出中。
Ubuntu
默认安装目录为usr/local/lib。
在执行 Ruby 进程之前,将安装目录添加到 LD_LIBRARY_PATH。
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
每当您运行 Ruby 可执行文件时都需要设置此环境变量,因此您可能希望将其添加到您的 bash 配置文件中。
Mac OS X
.so 文件的默认安装目录类似于/Library/Ruby/Site/2.0.0/universal-darwin13。
Mac OS X 上的 Ruby 需要一个 .bundle 文件,因此我们创建了一个指向 .so 文件的符号链接。
$ cd /Library/Ruby/Site/2.0.0/universal-darwin13
$ sudo ln -s geos.so geos.bundle
这只需要在安装时运行以永久启用 Ruby GEOS 绑定。
5. 在 Ruby 中加载 GEOS
如果您已正确链接到库,您应该可以使用 require 'geos' 并且看不到任何错误。
$ irb
>> require 'geos'
=> true