Ошибка 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'