我是 Ruby 新手,正在尝试编写一个小的 ruby 脚本来调用 win32-api
从头开始,这就是我所做的
- 使用 ruby 安装程序 (rubyinstaller-2.0.0-p0.exe) 安装 Ruby 2.0
- 安装了相关的 devkit (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 64 位,虽然我现在已经切换到 32 位 Ruby2.0/DevKit,但还是没有运气。
我的安装在 C:\Ruby\Ruby200 C:\Ruby\DevKit
我的 PATH 以 PATH=C:\Ruby\Ruby200\bin;C:\Ruby\DevKit\bin; 开头 ...
也许我在这里遗漏了一些明显的东西,尽管我无法发现它。任何帮助表示赞赏。
谢谢!