bundle install 找不到库文件,用 config 参数指定本地类库

在 FreeBSD Jail 中安装 Gitlab,执行 bundle install 时,有个类库文件找不到,最后修改 config 文件顺利通过。

出现的错误

Building nokogiri using packaged libraries.
-----
libiconv is missing.  please visit http://nokogiri.org/tutorials/installing_nokogiri.html for help with installing dependencies.
-----

直接用 gem ,指定类库路径后可以,但 bundle install 不行

gem install nokogiri --   --use-system-libraries   --with-xml2-lib=/usr/local/lib   --with-xml2-include=/usr/local/include/libxml2/libxml   --with-xslt-lib=/usr/local/lib   --with-xslt-include=/usr/local/include/libxslt   --with-iconv-lib=/usr/local/lib   --with-iconv-include=/usr/local/include

修改 ~/.bundle/config 添加这些参数到 BUNDLE_BUILD_NOKOGIRI

cat .bundle/config
---
BUNDLE_BUILD__NOKOGIRI: --use-system-libraries --with-xml2-lib=/usr/local/lib --with-xml2-include=/usr/local/include/libxml2/libxml
  --with-xslt-lib=/usr/local/lib --with-xslt-include=/usr/local/include/libxslt --with-iconv-lib=/usr/local/lib
  --with-iconv-include=/usr/local/include    

重新运行 bunlde install,顺利完成安装。

参考:

https://gist.github.com/afair/ac3cf215ed5bc89cd40c

http://bundler.io/bundle_config.html

http://doc.gitlab.com/ce/install/installation.html

https://www.freebsdnews.com/2015/03/26/gitlab-freebsd-10/

http://www.freshports.org/search.php

http://doc.freenas.org/9.3/freenas_jails.html#installing-freebsd-packages

https://ruby.taobao.org/

时间: 2024-11-05 14:15:12

bundle install 找不到库文件,用 config 参数指定本地类库的相关文章

编译找不到库文件

在linux环境编译应用程式或lib的source code时常常会出现如下的错误讯息: /usr/bin/ld: cannot find -lxxx 这些讯息会随着编译不同类型的source code 而有不同的结果出来如: /usr/bin/ld: cannot find -lc /usr/bin/ld: cannot find -lltdl /usr/bin/ld: cannot find -lXtst 其中xxx即表示函式库文件名称,如上例的:libc.so.libltdl.so.lib

登录mysqlpxc报错找不到库文件libreadline.so.7

一.环境说明: 本博文的演示环境和上篇博文一致https://blog.51cto.com/wujianwei/2374588 1.1简述: 基于上篇博文,为了部署mysqlpxc集群环境,需要开启3个vmware虚拟机实例来部署3个mysqlpxc实例.第一篇博文中在初始化mysqlpxc实例后,登录实例时,报错提示: [[email protected] local]# /usr/local/mysqlpxc/bin/mysql -uroot -p mysql: error while lo

FFmpeg编译找不到库文件

在编译FFmpeg的时候,用./configure 进行配置,经常会出现找不到库文件的情况,原因大概就两个: 1.没有安装库文件或者安装的库文件版本不对 2.FFmpeg没有找到库文件 前者的问题好解决,只要安装相应的库就好了,但是安装好相应的库以后,一般还会掉入后者那个坑. 后者要解决也很简单,只要告诉FFmpeg你的库目录就好,怎么告诉它? 在./configure 配置的时候,有几个参数 --extra-cflags --extra-ldflags --extra-cxxflags 这几个

关于找不到库文件

系统:centos 6.3 有时我们执行某个程序时出现缺少库文件的报错,如下: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory 遇到这种情况不要慌,用 ldd 命令查看程序的依赖库,看看哪些库是程序没有找到的(ldd 命令最好后面跟自己熟悉的文件,不要去看不熟悉的陌生程序依赖库,很可能会被黑客利用) 一般都是这种输出格式

linux编译链接找不到库文件的解决方法。

今天编译出现ld: 0706-006 Cannot find or open library file: -l xerces-c_static,ld:open(): A file or directory in the path name does not exist.这个熟悉得不能再 熟悉的链接错误. 很简单,编译器打开xerces-c_static.a失败.出现这个错误的原因往往是因为目录库文件xerces-c_static.a没被编译出来或不存在. 于是第一反应,看一下xerces-c_s

安装sysbench遇到找不到库文件的问题

export LD_LIBRARY_PATH=/usr/mysql/lib./configure --prefix=/usr/local/sysbench --with-mysql-includes=/data/eh/mysql/include/ \ --with-mysql-libs=/data/eh/mysql/lib/ --with-mysql=/data/eh/mysql

二进制安装mysql5.6.39报错找不到libnuma.so.1库文件

二进制安装mysql5.6.39初始化时报错如下: [[email protected] scripts]# ./mysql_install_db --datadir=/data/mysql/data --basedir=/usr/local/mysql --user=mysql --explicit_defaults_for_timestamp Installing MySQL system tables.../usr/local/mysql/bin/mysqld: error while l

关于bundle install 的一点补充

在第一次运行bundle install之后,生成了Gemfile.lock文件,里面记录gem的具体版本号,按照官方文档说明,以后运行bundle install就不会再依据Gemfile,而是根据lock文件来安装gem,以免在新的机器中安装的版本与lock中不同,导致gem混乱. 实际试验步骤: 1.第一次运行bundle install,lock文件中为 sqlite3 (1.3.11-x86-mingw32) 2.将Gemfile文件中的 gem 'sqlite3'   改为 gem 

linux 头文件和库文件的设置

GCC/G++会查找系统默认的include和link的路径,以及自己在编译命令中指定的路径.自己指定的路径就不说了,这里说明一下系统自动搜索的路径. [1]include头文件路径 除了默认的/usr/include, /usr/local/include等include路径外,还可以通过设置环境变量来添加系统include的路径: # C export C_INCLUDE_PATH=XXXX:$C_INCLUDE_PATH # CPP export CPLUS_INCLUDE_PATH=XX