gpt4 book ai didi

ruby-on-rails - 在 windows xp(32 位)上的 Ruby on Rails 上安装 Typhoeus

转载 作者:行者123 更新时间:2023-12-01 13:00:49 28 4
gpt4 key购买 nike

我一直在尝试在我的“Ruby on Rails”应用程序上做一些简单的“rails 服务器”,但是我正在和我的一个使用 linux 的 friend 一起工作,我坐在 windows xp(32 位)上) 一切都很顺利,他实现了名为“curl”和“typhoeus”的 gem,所以为了让我在 localhost:3000 上查看它,我还必须安装这些 gem。


所以这就是我写的:


D:\>gem install typhoeus
Building native extensions. This could take a while...
ERROR: Error installing typhoeus:
ERROR: Failed to build gem native extension.

C:/Ruby187/bin/ruby.exe extconf.rb
checking for curl/curl.h in C:/Ruby187/lib/ruby/gems/1.8/gems/typhoeus-0.2.4/cro
ss/curl-7.19.4.win32/include... no
need libcurl
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers. Check the mkmf.log file for more
details. You may need configuration options.

Provided configuration options:
--with-opt-dir
--without-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=C:/Ruby187/bin/ruby


Gem files will remain installed in C:/Ruby187/lib/ruby/gems/1.8/gems/typhoeus-0.
2.4 for inspection.
Results logged to C:/Ruby187/lib/ruby/gems/1.8/gems/typhoeus-0.2.4/ext/typhoeus/
gem_make.out


是的,它看起来不那么漂亮,但显然它需要一个叫做“libcurl”的东西,所以我从互联网上下载了适用于 windows xp 32 位的 curl 版本,我将 exefile 和所有 dll 文件放在 windows 文件夹中.我试图简单地写“curl”看看它是否有效。这就是我得到的:

D:\>curl
curl: try 'curl --help' or 'curl --manual' for more information

然后我又写了 gem install typhoeus ,我得到了和上面一样的错误,我错过了什么? libcurl 不附带 curl 吗?我急需帮助,因为我的 friend 不能帮助我,因为他是 linux 专家。所以请帮助我 - 告诉我必须做什么才能感染斑疹伤寒! (我也尝试编写 gem install typhoeus-0.2.4 但抛出了一些其他错误:

ERROR:  Could not find a valid gem 'typhoeus-0.2.4' (>= 0) in any repository

)

我是在 ruby​​ on rails 应用程序的文件夹中写的。所以我迷路了,非常需要帮助!

提前致谢,
哈利

最佳答案

我在 Windows 7 上遇到了类似的问题,问题出在 Windows 机器的 extconf.rb 文件中的一些逻辑上。以下几行是导致 need libcurl 错误消息的原因:

if Config::CONFIG['target_os'] == 'mingw32'
header = File.join(ROOT, 'cross', 'curl-7.19.4.win32', 'include')
unless find_header('curl/curl.h', header)
abort "need libcurl"
end

File.join 调用会导致 makefile 查找 typhoeus 未包含的目录 (cross/curl-7.19.4.win32/include),因此 makefile 不会工作。

我花了一天的大部分时间在网上查看了很多解决方案(this link 帮助最大),最后通过简单地更改 File.join() 找到了解决方法> 为我的 curl gem 使用显式文件路径。我编辑了 extconf.rb 文件两次,一次在这里:

if Config::CONFIG['target_os'] == 'mingw32'
header = File.join('C:\RailsInstaller\Ruby1.9.2\lib\ruby\gems\1.9.1\gems\curl-7.19.4-devel-mingw32', 'include')
unless find_header('curl/curl.h', header)
abort "need libcurl"
end

一旦来到这里:

if Config::CONFIG['target_os'] == 'mingw32'
find_library('curl', 'curl_easy_init',
File.join('C:\RailsInstaller\Ruby1.9.2\lib\ruby\gems\1.9.1\gems\curl-7.19.4-devel-mingw32', 'bin'))

我相信您可能需要 DevKit已安装,但我不确定。

希望这对您有所帮助!

关于ruby-on-rails - 在 windows xp(32 位)上的 Ruby on Rails 上安装 Typhoeus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061800/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com