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

cczfrluj  于 12个月前  发布在  Ruby
关注(0)|答案(7)|浏览(119)

我用的是Ruby on Rails 4。
我正试图

require 'rest-client'

字符串
这样我就可以解析从表单中获取的登录信息,并将其发送给API。
我可以验证gem是否已安装,并且也在应用程序根目录的Gemfile中。
然而,当我试图在我的控制器中请求文件时,它仍然抛出“cannot load such file -- rest-client“。
我在谷歌上搜索了这个错误,我看到的大多数答案要么是gem没有安装,要么是gem文件中没有,要么是两者兼而有之。
我的控制器是否由于某种原因无法访问rest-client gem?我必须使用rest-client,因为它在API中是必需的。
这是我用来安装gem的一行代码:

gem install rest-client


这是gem的主页:https://github.com/archiloque/rest-client
它会把你重定向到https://github.com/rest-client/rest-client
我还应该注意到,当我不使用Rails项目中的代码,而只是在终端中运行命令时,它工作得很好。

fslejnso

fslejnso1#

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

require 'rest-client'

字符串
另外,确保在将gem添加到Gemfile并运行bundle之后重新启动rails服务器。

col17t5w

col17t5w2#

在终端中运行以下命令:

gem install rest-client

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

c3frrgcw

c3frrgcw3#

在我的情况下,没有一个解决方案在这个线程工作
成功的方法是直接在Gemfile中添加gem:

gem 'rest-client'

字符串
在关闭rails server,退出rails console并运行bundle install之后,
我再次打开rails console,这一次require 'rest-client'工作正常

oyt4ldly

oyt4ldly4#

对我来说,这是一个捆绑包的问题(我以为我已经安装了)。剧透警告,我没有,这是我如何修复它。我在运行OS X约塞米蒂的Mac上,我的终端版本是达尔文内核版本14.3.0:

cd
gem install bundler

字符串

cd
sudo gem install bundler


如果你得到的东西沿着行以下错误:
Error:While executing gem.(Gem::FilePermissionError)您没有/Library/Ruby/Gems/2.0.0目录的写权限。
最后,将您的require行更改为:

require 'rest-client'


require 'rest_client'


运行你的代码!

ru9i0ody

ru9i0ody5#

首先确保你已经在gem文件中安装了gem 'rest-client',~>1.8.0。运行bundle install,然后运行require 'rest_client'。这对我很有效。

cotxawn7

cotxawn76#

将require 'rest-client'添加到控制器的顶部并重新启动服务器

kupeojn6

kupeojn67#

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

相关问题