Ошибка Ruby: невозможно загрузить такой файл - rest-client

Я использую Ruby on Rails 4.

Я пытаюсь

require 'rest-client'

в моем контроллере, чтобы я мог проанализировать информацию для входа, которую я получаю из формы, и отправить ее в API.

Я могу проверить, что камень установлен, а также в моем Gemfile в корне приложения.

Тем не менее, он все еще бросает "не может загрузить такой файл - rest-client", когда я пытаюсь потребовать файл в моем контроллере.

У меня ошибка в googled, и большинство ответов, которые я видел, были либо в том, что камень не был установлен, ни в Gemfile, ни в сочетании обоих. Здесь тоже не так.

По какой-то причине мой контроллер не может получить доступ к камню остального клиента? Я должен использовать rest-client, потому что это требуется в API.

Это строка, которую я использовал для установки драгоценного камня:

gem install rest-client

Это главная страница драгоценного камня: https://github.com/archiloque/rest-client
Что просто перенаправляет вас на https://github.com/rest-client/rest-client

Я также должен отметить, что он отлично работает, когда я не использовал код в проекте Rails, а просто выполнял команды в терминале.

Ответ 1

Предполагая, что вы используете https://github.com/rest-client/rest-client (поскольку вы не указали), ваша строка require должна быть

require 'rest-client'

в соответствии с README. Кроме того, убедитесь, что вы перезагрузили сервер рельсов после добавления драгоценного камня к вашему Gemfile и запуску bundle.

Ответ 2

Выполните следующую команду в терминале:

gem install rest-client

и используйте require 'rest-client'. Не нужно менять на rest_client.

Ответ 3

в моем случае ни одно из решений в этой ветке не работало то, что работало, заключалось в том, чтобы добавить камень непосредственно в Gemfile:

 gem 'rest-client'

после закрытия rails server, выход из rails console и запуск bundle install,
Я снова открыл rails console и на этот раз require 'rest-client' работал безупречно

Ответ 4

Сначала убедитесь, что вы установили gem 'rest-client', ~ > 1.8.0 в свой файл gem. Запустите установку пакета, а затем require 'rest_client'. Это сработало для меня.

Ответ 5

Для меня это была проблема с пакетом (который, как я думал, я установил). Спойлер предупреждает, я этого не делал, и именно так я его исправил. Я нахожусь на Mac под управлением ОС X Yosemite, и моя версия терминала - это Darwin Kernel Version 14.3.0:

cd
gem install bundler 

или

cd
sudo gem install bundler

Если вы получаете что-то по строкам следующей ошибки:

ОШИБКА: при выполнении gem... (Gem:: FilePermissionError)   У вас нет прав на запись для каталога /Library/Ruby/Gems/ 2.0.0.

Наконец, измените требуемую строку:

require 'rest-client'

к

require 'rest_client'

Затем запустите свой код!

Ответ 6

Попробуйте require 'rest_client' вместо require 'rest-client'