Ruby - 无法调用win32-api

时间:2013-04-30 02:16:47

标签: ruby winapi rubygems

我是Ruby新手,我正在尝试编写一个小的ruby脚本来调用 Win32的API

从头开始,这就是我所做的

  • 使用ruby安装程序安装了Ruby 2.0 (rubyinstaller-2.0.0-p0.exe)
  • 安装了相关的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'宝石。

用谷歌搜索了一段时间,股票推荐是 从源代码重新编译win32-api,我做了

gem uninstall win32-api
gem install win32-api --platform=ruby

这成功但没有解决问题。

最初,我开始使用64位版本的Ruby 2.0 / DevKit 运行Window 7 64bit,虽然我现在已经切换到32位 Ruby2.0 / DevKit,再次没有运气。

我的安装在 C:\红宝石\ Ruby200 C:\红宝石\的devkit

我的PATH开头 PATH = C:\红宝石\ Ruby200 \ BIN; C:\红宝石\的devkit \ BIN; ...

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

谢谢!

1 个答案:

答案 0 :(得分:-1)

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