Impossibile trovare Gemfile


138

Non sono certamente uno sviluppatore di Ruby ma ho un'applicazione sul mio server che utilizza Ruby, Gems e Bundler. Sto cercando di installare un altro Ruby su un altro account utente ma sullo stesso VPS. Quando vado a correre

bundle install

Ottengo il seguente errore:

Impossibile trovare Gemfile

Potrei rimuovere il contenuto della directory ./bundle in modo che tutte le gemme vengano recuperate per cancellare l'errore, ma ciò avrà un impatto sull'altra mia applicazione usando le stesse gemme e bundler? Non voglio rischiare di abbattere l'altra app.

Risposte:


162

Non hai Gemfilein una directory dove esegui quel comando. Gemfileè un file contenente le tue gemimpostazioni per un programma corrente .


2
Grazie. Era qualcosa di così semplice. Ho appena avuto un problema perché dovevo eseguire l'accesso come utente amministratore per eseguire il comando ma il file di gemma si trovava in una directory con un altro utente. Sono riuscito a risolverlo. Grazie!
Ian,

1
sì, hai ragione, se usi questo comando per installare redmine, dovresti "cd [redmine-directory]", quindi eseguire quel comando.
Tim Wong,

80

Assicurati di essere nella directory del progetto prima di eseguirlo bundle install. Ad esempio, dopo l'esecuzione rails new myproject, ti consigliamo di cd myprojectprima di eseguire bundle install.


Sì, questo era davvero il problema e alla fine sono riuscito a risolverlo. Grazie per l'aiuto.
Ian,

6

Ho avuto lo stesso problema e l'ho risolto utilizzando una directory diversa.

bash-4.2 $ installa il bundle
Impossibile trovare Gemfile
bash-4.2 $ pwd
/home/amit/redmine/redmine-2.2.2-0/apps/redmine
bash-4.2 $ cd htdocs /
bash-4.2 $ ls
app config db extra Gemfile lib plugins Rakefile script tmp
bin file config.ru doc ​​Gemfile.lock log fornitore README.rdoc pubblico di prova
bash-4.2 $ cd plugins /
bash-4.2 $ installa il bundle
Utilizzo del rake (0.9.2.2) 
Utilizzo di i18n (0.6.0) 
Utilizzo di multi_json (1.3.6) 
Utilizzo di activesupport (3.2.11) 
Utilizzo del builder (3.0.0) 
Utilizzo di activemodel (3.2.11) 
Utilizzo di erubis (2.7.0) 
Utilizzo del viaggio (1.0.4) 
Utilizzo del rack (1.4.1) 
Utilizzo di rack-cache (1.2) 
Uso del rack-test (0.6.1) 
Uso dell'escursione (1.2.1) 
Utilizzo dell'inclinazione (1.3.3) 
Utilizzo dei pignoni (2.2.1) 
Utilizzo di actionpack (3.2.11) 
Usare i tipi mime (1.19) 
Utilizzando polyglot (0.3.3) 
Utilizzo della cima degli alberi (1.4.10) 
Utilizzo della posta (2.4.4) 
Utilizzo di actionmailer (3.2.11) 
Utilizzo di arel (3.0.2) 
Utilizzo di tzinfo (0.3.33) 
Uso di activerecord (3.2.11) 
Utilizzo di activeresource (3.2.11) 
Utilizzo del coderay (1.0.6) 
Uso di rack-ssl (1.3.2) 
Usare json (1.7.5) 
Utilizzo di rdoc (3.12) 
Utilizzando thor (0.15.4) 
Usare le ferrovie (3.2.11) 
Uso di jquery-rails (2.0.3) 
Uso di mysql2 (0.3.11) 
Utilizzo di net-ldap (0.3.1) 
Usando ruby-openid (2.1.8) 
Uso di rack-openid (1.3.1) 
Utilizzo del bundler (1.2.3) 
Uso delle rotaie (3.2.11) 
Usare rmagick (2.13.1) 
Il tuo pacchetto i

3

Ho risolto un problema simile semplicemente eseguendo il back-out dalla directory del progetto, quindi ricollegandolo alla directory del progetto e installando il bundle.


1

Ecco qualcosa che potresti provare.

Aggiungi questo a tutti i file di configurazione che usi per eseguire la tua app.

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
Bundler.require(:default)

Rails e altre app basate su rack utilizzano questo schema. A volte succede che stai cercando di eseguire cose che sono alcune directory più profonde della tua radice in cui si trova normalmente il tuo Gemfile. Naturalmente per ora hai risolto questo problema, ma occasionalmente ci troviamo tutti nei guai con questa ricerca del Gemfile. A volte mi piace quando puoi avere tutte le tue gemme anche nella directory .bundle. Non fa mai male tenere questo indirizzo del sito sotto il cuscino. http://bundler.io/


0

È molto semplice. quando dice "Impossibile trovare Gemfile" significa che nella cartella in cui ci si trova attualmente o in una directory in cui ci si trova, non esiste un file chiamato GemFile. Pertanto nel prompt dei comandi fornire un percorso esplicito o completo della cartella there in cui tale nome file "Gemfile" è ad esempio cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Sarà sicuramente risolto in un minuto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.