2

我是 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; 开头 ...

也许我在这里遗漏了一些明显的东西,尽管我无法发现它。任何帮助表示赞赏。

谢谢!

4

1 回答 1

-1

我打赌它应该是win32api而不是win32-api. 所以可能你只是拼错了。

于 2013-04-30T04:11:55.863 回答