Ruby错误:无法加载此类文件 - rest-client

时间:2013-07-31 14:56:16

标签: ruby-on-rails ruby rest-client

我正在使用Ruby on Rails 4。

我正在尝试

require 'rest-client'

在我的控制器中,以便我可以解析从表单中获取的登录信息并将其发送到API。

我可以验证gem是否已安装,并且还在应用程序根目录下的Gemfile中。

然而,当我尝试在我的控制器中要求文件时,仍然会抛出“无法加载此类文件 - rest-client”。

我已经搜索了错误,我看到的大多数答案要么是没有安装gem,要么不是Gemfile,要么是两者的组合。这里的情况也不是。

我的控制器是否由于某种原因无法访问rest-client gem?我必须使用rest-client,因为它在API中是必需的。

这是我用来安装gem的行:

gem install rest-client

这是宝石的主页:https://github.com/archiloque/rest-client
这只会将您重定向到https://github.com/rest-client/rest-client

我还应该注意,当我没有在Rails项目中使用代码而只是在终端中运行命令时,它工作正常。

6 个答案:

答案 0 :(得分:18)

假设您正在使用https://github.com/rest-client/rest-client (因为您没有指定),那么您的require行应

require 'rest-client'

根据README。此外,请确保在将gem添加到Gemfile并运行bundle后重新启动rails服务器。

答案 1 :(得分:6)

在终端中运行以下命令:

gem install rest-client

并使用require 'rest-client'。无需更改为rest_client。

答案 2 :(得分:4)

就我而言,这个帖子中的解决方案都没有工作 什么工作,是直接在Gemfile

添加宝石
 gem 'rest-client'

关闭rails server后退出rails console并运行bundle install
我再次打开了rails console,这次require 'rest-client'完美地工作了

答案 3 :(得分:0)

首先确保您已安装gem 'rest-client',〜>宝石文件上的 1.8.0 。运行bundle install然后require 'rest_client'。这对我有用。

答案 4 :(得分:0)

对我来说这是捆绑的问题(我以为我已安装)。嘘声警报,我没有,这就是我修复它的方式。我在运行OS X Yosemite的Mac上使用我的终端版本是Darwin内核版本14.3.0:

cd
sudo gem install bundler

require 'rest-client'

如果你得到以下错误:

错误:执行gem时...(Gem :: FilePermissionError)     您没有/Library/Ruby/Gems/2.0.0目录的写权限。

最后,更改您的需求行:

require 'rest_client'

strsplit(string, '(\\b\\S+\\b)(?=.*\\b\\1\\b.*)', perl=TRUE)[[1]]
##[1] "You know that song "                   
#[2] " had a little lamb? Mary is my friend."

然后运行你的代码!

答案 5 :(得分:-1)

尝试require 'rest_client',而不是require 'rest-client'