2

我在 Mac OS X Yosemite 10.10 Beta 3 上运行,我重新安装了 rvm(删除了我能想到的所有东西并重新安装了整个东西。

尝试运行我在 Mavericks 上工作的脚本。

Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ gem install restclient
Successfully installed restclient-0.10.0
Parsing documentation for restclient-0.10.0
Done installing documentation for restclient after 0 seconds
1 gem installed
Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ which irb
/Users/maximveksler/.rvm/rubies/ruby-2.1.2/bin/irb
Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ irb
2.1.2 :001 > require 'restclient'
LoadError: cannot load such file -- restclient
    from /Users/maximveksler/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /Users/maximveksler/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from (irb):1
    from /Users/maximveksler/.rvm/rubies/ruby-2.1.2/bin/irb:11:in `<main>’

路径看起来很正常

Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ env | grep GEM
GEM_HOME=/Users/maximveksler/.rvm/gems/ruby-2.1.2
GEM_PATH=/Users/maximveksler/.rvm/gems/ruby-2.1.2:/Users/maximveksler/.rvm/gems/ruby-2.1.2@global

还安装了gem

Maxims-MacBook-Air:AppleSampleCodeWorker maximveksler$ file /Users/maximveksler/.rvm/gems/ruby-2.1.2/gems/restclient-0.10.0/lib/rest_client.rb
/Users/maximveksler/.rvm/gems/ruby-2.1.2/gems/restclient-0.10.0/lib/rest_client.rb: ASCII C++ program text

那么我错过了什么?

4

1 回答 1

1

在这里查看您的链接,您的语法有错误。应该是require 'rest_client'而不是require 'restclient'。您的版本仍然有效的原因正如您所说,因为有一个名为 restclient.rb 的文件用作 gem 提供的其他 restclient 二进制文件的源(这违反了常规命名约定,您应该向github)。

现在因为你需要这个文件 ( restclient.rb),它用于设置一个已经RestClient可用的环境,它实际上与 requires 相同rest_client。但是,它可能会产生意想不到的后果,因此您可能应该遵守文档中概述的约定。

这一切都来自阅读此处的文档并浏览此处的文件。那有意义吗?我担心不清楚,因为这两个文件非常相似。

于 2014-07-11T22:19:32.420 回答