`

no such file to load -- ferret_ext

阅读更多
好吧,这的确是一个十分诡异的错误,而且,似乎是win下才会有的。

原因是ferret_ext找不到,而你又确实安装了,说明这个ferret_ext.so(就是C编译完后以便ruby调用的库),不在ruby可以找到的lab路径。那么,照这个逻辑可以



引用
C:\ruby\lib\ruby\gems\1.8\gems\ferret-0.11.5-x86-mswin32\ext


下的 ferret_ext.so 文件拷贝到
如下目录

引用
C:\ruby\lib\ruby\gems\1.8\gems\ferret-0.11.5-x86-mswin32\lib



如下测试:

#ferret_test.rb file:

require 'rubygems'
require 'ferret'
include Ferret
index = Index::Index.new(:path => '/opt/search-index')


引用
>> require 'rubygems'
=> []
>> require 'ferret'
=> []
>> include Ferret
=> Object
>> puts "ferret works!"
ferret works!
=> nil
>> index = Index::Index.new(:path => '/opt/search-index')
=> #<Ferret::Index::Index:0x481591c @qp=nil, @dir=#<Ferret::Store::FSDirectory:0x4814e04>, @default_field=:*, @reader=nil, @mon_owner=nil, @open=true, @close_di
r=true, @id_field=:id, @writer=nil, @options={:path=>"/opt/search-index", :lock_retry_time=>2, :default_field=>:*, :dir=>#<Ferret::Store::FSDirectory:0x4814e04>
, :analyzer=>#<Ferret::Analysis::StandardAnalyzer:0x4814918>}, @mon_waiting_queue=[], @key=nil, @searcher=nil, @default_input_field=:id, @mon_entering_queue=[],
@auto_flush=false, @mon_count=0>


然而,如果你是linux或者mac上遇到的类似问题
那么参考这些

引用

I had a stock install of Mac OS X Tiger, without developer tools
installed. When I did the "gem install ferret" I ignored the message
that gcc and make could not be found. RubyGems gave the message that
ferret was installed despite the fact that the C extensions were not
compiled and installed. So I got the error "no such file to load --
ferret_ext" when I tried to run ferret. Here's what I did to get ferret
to work:

Found my Mac OS X Tiger install disk and opened the Xcode Tools folder.
Clicked on the XcodeTools.mpkg. Started the install process and stopped
before I clicked the "Upgrade" button. Instead clicked the "Customize"
button and selected only "gcc 4.0" and the Software Development Kits
"Mac OS X SDK" and "BSD SDK" (I'm not developing Mac apps so didn't want
to crowd my disk with extra stuff I won't use). Then clicked "Upgrade."
What you need gets installed as /usr/bin/gcc plus lots more in
/usr/include. Now you can install ferret and it will compile the C
extensions.

First I removed the broken ferret I installed earlier:
$ gem uninstall ferret

I checked that I had gcc:
$ which gcc
/usr/bin/gcc

If you can't find it, check your bash shell path environment with:
$ env
You should have something like
"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

I checked for the SDK libraries:
$ cd /usr/include
$ ls -lag
(should show lots of ".h" header files)

Then back to my development directory and ran:
$ sudo gem install ferret
Select which gem to install for your platform (powerpc-darwin7.9.0)
1. ferret 0.10.13 (ruby)
...
Building native extensions.  This could take a while...
ruby extconf.rb install ferret
creating Makefile
...
(lots of make cruft)
make install
...
make clean
Successfully installed ferret-0.10.13
Installing ri documentation for ferret-0.10.13...
Installing RDoc documentation for ferret-0.10.13...

You can test ferret with this Ruby code in a file "ferret_test.rb"
require 'rubygems'
require 'ferret'
include Ferret
puts "ferret works!"

Try it with:
$ ruby ferret_test.rb
ferret works!


I hope this helps someone else who might be in a similar situation,
especially if they are googling for "no such file to load -- ferret_ext"
or "Mac OS X gem install ferret" or even "installing gcc on mac os x".


分享到:
评论

相关推荐

    Go-Ferret一种声明式Web爬虫系统

    8. **蒙特福尔雷特(MontFerret)**:文件名“MontFerret-ferret-4961bcd”可能指的是Go-Ferret的一个版本或者分支,4961bcd可能是Git提交的哈希值,表示该版本包含了特定的改进和修复。 9. **持续更新与社区支持**...

    E022-渗透测试常用工具-使用ferret进行Cookie劫持.pdf

    在这个过程中,使用了ferret工具来执行Cookie劫持,这是一种常见的攻击手段,用于获取用户的登录凭据,特别是那些存储在Cookie中的会话ID。以下是整个过程的详细解释: 1. **环境准备**: 在这个场景中,我们有两...

    ferret简明手册

    - **FERRET-GUI**:通过`ferret-gui`命令打开图形前端界面,便于用户通过图形界面进行操作。 #### 二、基础教程获取 - **Gotutorial**:用户可以通过`gotutorial`命令获取简单的教程示例,帮助快速上手FERRET的基本...

    idl代码与Matlab-My_Code_Script_Samples:该存储库包含一些Python/Matlab,Fortran,IDL,N

    Matlab,Fortran,IDL,NCL和Ferret代码/脚本的示例/示例(以PDF,Microsoft Word和文本文件格式),这些都是我在简历/简历中描述的各种项目的过程中编写的,在我的LinkedIn个人资料()中,以及一些输出图(数据...

    ferret 6.84 for win7 64

    FERRET 绘图软件 6.84 for win64 安装方式,解压到任意目录,直接执行bin\bash.exe或bin\mintty.exe原方式操作,直接执行bin\ferret_v6.84.exe 直接进入FERRET

    Arduino-ferret.zip

    Arduino-ferret.zip,ferret是一个用于实时嵌入式控制系统的自由软件lisp实现。,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供了很多灵活性。

    工具Ferret(含代码)

    Ferret-1可能是Ferret工具的特定版本或者是一个可执行文件。在使用前,应该仔细阅读readme.txt以了解如何正确操作,同时,根据描述,这个工具可能存在一定的风险,因此在非受控环境中使用可能会对个人或组织的网络...

    Ferret ruby下的搜索引擎技术

    ruby下的搜索引擎。With the introduction of Ferret, Ruby users now have one of the fastest and most flexible search libraries available. And it's surprisingly easy to use.

    Image Ferret-开源

    "Image Ferret"是一款开源的图像搜索工具,它专为帮助用户在互联网上高效地查找、探索和发现各种图像、照片以及艺术作品而设计。这款软件的独特之处在于它能够自动学习用户的偏好,根据用户对图像的喜好进行智能推荐...

    Ruby搜索引擎Ferret.zip

    Ferret 是 Java 全文搜索引擎 Lucene 的 Ruby 移植版本。 标签:Ferret

    Ferret工具源代码

    几年前的黑帽子大会后传出的一个工具Ferret。作者声称可以利用他截获邮箱登录过程中的cookie信息。进而可以随意侵入他人的信箱。曾在黑帽子大会上当场演示如何破解gmail,hotmail等信箱。终于等到作者把代码和工具都...

    Ferret 是用于实时嵌入式控制系统的免费软件 lisp 实现_Makefile_代码_相关文件_下载

    Ferret 是一个免费软件 lisp 实现,旨在用于实时嵌入式控制系统。Ferret lisp 编译成自包含的C++11。生成的代码可在支持C++11兼容编译器的任何操作系统和/或微控制器之间移植。它已经过验证,可以在从内存低至2KB 的...

    Ferret-crx插件

    其中,Ferret-crx插件就是一款针对英语用户设计,旨在简化搜索流程并提供高效检索体验的多功能浏览器扩展程序。 Ferret-crx插件的出现,为用户提供了一个统一的搜索界面。在浏览器的地址栏或多功能搜索框中,用户只...

    pnw-ferret:政治与战争的数据收集和分析工具

    "pnw-ferret"是一个专门用于政治与战争数据收集和分析的工具,它以其高效的数据处理能力和深度洞察力在IT行业...用户可以下载并安装"pnw-ferret-master",以定制自己的数据收集和分析流程,满足特定的研究或监控需求。

    sqlPing3

    SQLPing 3.0 is designed to remedy this problem by combining all known means of SQL Server/MSDE discovery into a single tool which can be used to ferret-out servers you never knew existed on your ...

    MITMf-master.zip

    - ```Ferret-NG``` - Transperently hijacks sessions - ```BrowserProfiler``` - Attempts to enumerate all browser plugins of connected clients - ```CacheKill``` - Kills page caching by modifying headers ...

    ferret-opencv

    雪貂opencv 用于OpenCV雪貂绑定(require '[ferret-opencv.core :as cv])(def cam (cv/video-capture 0))(let [f (cv/query-capture cam)] (cv/imwrite "image_latest.png" f))样品CMake cmake_minimum_required...

    Ferret.Net-开源

    【标题】"Ferret.Net-开源" 【描述】中的知识点: 1. **Ferret.Net**:这是一个专为IT专业人士设计的开源类库,它主要用于处理网络套接字通信,提供跨平台的支持。 2. **基于接口**:这意味着Ferret.Net的设计遵循...

    Python库 | txtferret-0.1.0-py3-none-any.whl

    "ferret"这个词在英语中指的是雪貂,一种善于挖掘和寻找的小动物。在这里,它可能是象征着库能够深入文本数据中,挖掘出有价值的信息。版本号"0.1.0"表明这是该库的初步版本,可能存在更多的更新和发展空间。 ...

    Ferret CMS-开源

    **Ferret CMS 开源内容管理系统详解** Ferret CMS 是一个基于 Zope 平台构建的开源内容管理系统。Zope 是一个强大的Python Web应用程序框架,它为开发人员提供了丰富的功能,使得创建复杂的Web应用变得更为简单。...

Global site tag (gtag.js) - Google Analytics