我在nitrous.io上运行并尝试使用ruby 2.0.0-p353安装rgeo gem。
我没有sudo
访问权限,因此我尝试从源代码编译并安装geos。
下载并解压缩源文件后,我cd
进入源文件夹并运行
mkdir /home/action/local && ./configure --prefix=/home/action/local
make && make install
这会运行一下。然后我跑
gem install rgeo -- --with-geos-dir=/home/action/local
事情看起来不错,但如果我跳进终端,我就会
RGeo::Geos.supported?
> false
回顾mkmf.log
文件,我看到以下几行:
/usr/bin/ld: cannot find -lgeos
/usr/bin/ld: cannot find -lgeos_c
/usr/bin/ld: cannot find -lgeos
/usr/bin/ld: cannot find -lgeos_c
此博文:http://blog.thefrontiergroup.com.au/page/2/提及创建符号链接以解决此问题:
cd /usr/lib
sudo ln -s libgeos-3.3.3.so libgeos.so
sudo ln -s libgeos-3.3.3.so libgeos.so.1
libgeos
没有安装到usr / lib,它位于/home/action/local/lib
,当我检查该目录时,我看到libgeos.so
已经符号链接到libgeos-x.x.x.so
。< / p>
如果我将ruby版本切换到1.9.3-p392并运行gem安装线,一切都按计划进行。
在我的MacBook Pro上,我可以rgeo
与ruby 2.0.0-p395
成功使用rgeo
,但地理库由homebrew安装,因此需要{{1}}路径。
ruby 2.0是否存在影响编译宝石的变化?
我在所有机器上使用RVM