web-dev-qa-db-ja.com

Rubyエラー:そのようなファイルをロードできません-rest-client

Ruby on Rails 4。

私は。。をしようとしています

require 'rest-client'

私のコントローラーで、フォームから取得したログイン情報を解析し、それをAPIに送信できるようにします。

Gemがインストールされており、アプリケーションルートのGemfileにもあることを確認できます。

ただし、コントローラーでファイルを要求しようとすると、「そのようなファイルをロードできません-rest-client」がスローされます。

私はエラーをググってみました、そして私が見たほとんどの答えは、gemがインストールされていなかったか、Gemfileになかったか、またはそれらの両方の組み合わせでした。ここにも状況はありません。

なんらかの理由でコントローラがrest-client gemにアクセスできませんか? APIで必要なため、rest-clientを使用する必要があります。

これは、gemのインストールに使用した行です。

gem install rest-client

これはgemのホームページです: https://github.com/archiloque/rest-client
これは https://github.com/rest-client/rest-client にリダイレクトするだけです

また、Railsプロジェクトでコードを使用していなくても、ターミナルでコマンドを実行しているだけで問題なく機能することにも注意してください。

17
Jerrod

https://github.com/rest-client/rest-client(指定しなかったため)require行は

require 'rest-client'

[〜#〜] readme [〜#〜] に従って。また、gemをGemfileに追加してbundleを実行した後は、必ずRailsサーバーを再起動してください。

19
deefour

端末で次のコマンドを実行します。

gem install rest-client

require 'rest-client'。 rest_clientに変更する必要はありません。

6
akvenk

私の場合、このスレッドのソリューションはどれも機能しませんでした
機能したのは、Gemfileにgemを直接追加することでした:

 gem 'rest-client'

Rails serverを閉じ、Rails consoleを終了してbundle installを実行した後、
再びRails consoleを開いたところ、今回はrequire 'rest-client'が問題なく動作しました

4
Salomanuel

まず、gemファイルにgem 'rest-client'、〜> 1.8.がインストールされていることを確認してください。 bundle installを実行し、次にrequire 'rest_client'を実行します。これでうまくいきました。

0

私にとっては、バンドルの問題でした(インストールしたと思いました)。スポイラー警告、私はしませんでした、そしてこれは私がそれを修正した方法です。 OS X Yosemiteを実行しているMacを使用していて、ターミナルバージョンはDarwin Kernelバージョン14.3.0です。

cd
gem install bundler 

または

cd
Sudo gem install bundler

次のエラーの行に沿って何かが発生した場合:

エラー:gemの実行中...(Gem :: FilePermissionError)/Library/Ruby/Gems/2.0.0ディレクトリへの書き込み権限がありません。

最後に、require行を次のように変更します。

require 'rest-client'

require 'rest_client'

次に、コードを実行します。

0
schro's cat