【发布时间】:2013-04-30 12:11:55
【问题描述】:
我是 Ruby 新手,正在尝试编写一个小的 ruby 脚本来调用 win32-api
从头开始,这是我所做的
- 使用 ruby 安装程序安装了 Ruby 2.0 (rubyinstaller-2.0.0-p0.exe)
- 安装了相关的开发包 (DevKit-mingw64-32-4.7.2-20130224-1151-sfx.exe)
- 确保两个 bin 目录都在 PATH 上
这是我尝试运行脚本时看到的错误
C:\Ruby\Ruby200\bin\ruby.exe -e
$stdout.sync=true;$stderr.sync=true;load($0=ARGV.shift)
D:/kaira/src/ruby/main/myruby.rb
C:/Ruby/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
`require': cannot load such file -- win32/api (LoadError)
from
C:/Ruby/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in
`require'
from D:/kaira/src/ruby/main/myruby.rb:1:in `<top (required)>'
from -e:1:in `load'
from -e:1:in `<main>'
我没有在这里发布整个脚本,因为我认为它并不重要。问题似乎是我只是缺少/找不到我的第 1 行所需的“win32/api”gem。
在谷歌上搜索了一段时间后,股票推荐是 从源代码重新编译win32-api,我这样做了
gem uninstall win32-api
gem install win32-api --platform=ruby
这成功了,但没有解决问题。
最初我是从 Ruby 2.0/DevKit 的 64 位版本开始的 运行 Window 7 64bit,虽然我现在已经切换到 32bit Ruby2.0/DevKit,还是没运气。
我的安装在 C:\Ruby\Ruby200 C:\Ruby\DevKit
我的 PATH 以 PATH=C:\Ruby\Ruby200\bin;C:\Ruby\DevKit\bin; ...
也许我在这里遗漏了一些明显的东西,尽管我无法发现它。任何 帮助表示赞赏。
谢谢!
【问题讨论】: