2013-07-31 12 views
11

Sto usando Ruby on Rails 4.errore di Ruby: non può caricare tale file - resto-client

Sto cercando di

require 'rest-client' 

nel mio controller in modo che possa analizzare le informazioni di login I sto ricevendo da un modulo e inviarlo a un'API.

Posso verificare che la gem sia installata ed è anche nel mio Gemfile nella root dell'applicazione.

Tuttavia, sta ancora lanciando il messaggio "impossibile caricare tale file - client di riposo" quando provo a richiedere il file nel mio controller.

Ho cercato su google l'errore e la maggior parte delle risposte che ho visto sono state o la gemma non è stata installata, non era nel Gemfile, o una combinazione di entrambi. Neanche la situazione è qui.

Il mio controller non è in grado di accedere alla gemma rest-client per qualche motivo? Devo usare rest-client perché è richiesto nell'API.

Questa è la linea che ho usato per installare la gemma:

gem install rest-client 

Questa è la homepage della gemma: https://github.com/archiloque/rest-client
Il che reindirizza a https://github.com/rest-client/rest-client

Vorrei anche notare che funziona bene quando non stavo usando il codice in un progetto Rails ma semplicemente eseguendo i comandi nel Terminale.

+0

In base alla documentazione github che si richiede di fare 'rest_cli ent 'con un trattino basso. – yarakyo

+0

Ho apportato quella modifica con lo stesso errore risultante. – Jerrod

+0

Si presenta nel pacchetto. Il riavvio del server lo ha fatto. Grazie, Abe. – Jerrod

risposta

14

Supponendo che si sta utilizzando https://github.com/rest-client/rest-client(dal momento che non è stato specificato), la linea dovrebbe essere require

require 'rest-client' 

secondo il README. Inoltre, assicurati di riavviare il server delle guide dopo aver aggiunto la gemma al tuo Gemfile e in esecuzione bundle.

+1

Questo non è più applicabile – poorva

+0

Beh, è ​​stato pubblicato quasi 3 anni fa. Sentiti libero di suggerire una modifica se hai una modifica per renderla rilevante. – deefour

+0

Beh, non puoi fare una modifica di 1 carattere :), per favore cambia da 'require 'rest_client'' a' require rest-client' – poorva

-1

Prova require 'rest_client', invece di require 'rest-client'

0

In primo luogo assicurarsi di aver installato gem 'rest-client', ~>1.8.0 sul file gemma. Esegui installazione bundle e quindi require 'rest_client'. Questo ha funzionato per me.

0

Per me è stato un problema con bundle (che pensavo di aver installato). Avviso spoiler, non l'ho fatto, ed è così che l'ho risolto. Sono su un Mac con OS X Yosemite e la mia versione del terminale è Darwin Kernel Version 14.3.0:

cd 
gem install bundler 

o

cd 
sudo gem install bundler 

Se si ottiene qualcosa lungo le linee del seguente errore:

ERRORE: durante l'esecuzione di gem ... (Gem :: FilePermissionError) Non si dispone di autorizzazioni di scrittura per la directory /Library/Ruby/Gems/2.0.0.

Infine, modificare il vostro bisogno linea da:

require 'rest-client' 

a

require 'rest_client' 

Quindi eseguire il codice!

3

eseguire il seguente comando nel terminale:

gem install rest-client 

e utilizzare require 'rest-client'. Non è necessario passare a rest_client.

1

nel mio caso, nessuna delle soluzioni in questa discussione lavorato
cosa ha funzionato, è stato quello di aggiungere il gioiello direttamente nella Gemfile:

gem 'rest-client' 

dopo la chiusura della rails server, uscendo rails console e funzionante bundle install,
Ho riaperto lo rails console e questa volta require 'rest-client' ha funzionato perfettamente

Problemi correlati