Não foi possível localizar o Gemfile

138

Certamente não sou desenvolvedor de Ruby, mas tenho um aplicativo no meu servidor usando Ruby, Gems e Bundler. Estou tentando instalar outro Ruby em uma conta de usuário diferente, mas no mesmo VPS. Quando eu vou correr

bundle install

Estou tendo o erro a seguir:

Não foi possível localizar o Gemfile

Eu poderia remover o conteúdo do diretório ./bundle para que todos os Gems sejam buscados novamente para corrigir o erro, mas isso afetará meu outro aplicativo usando os mesmos Gems e Bundler? Não quero arriscar derrubar o outro aplicativo.

Ian
fonte

Respostas:

162

Você não possui Gemfileum diretório em que executa esse comando. Gemfileé um arquivo que contém suas gemconfigurações para um programa atual .

Joni
fonte
2
Obrigado. Era algo tão simples assim. Eu só tive um problema porque tinha que estar logado como usuário administrador para executar o comando, mas o gemfile estava em um diretório com um usuário diferente. Eu consegui resolver o problema. Obrigado!
Ian
1
Sim, você está certo. Se você usar este comando para instalar o redmine, deverá 'cd [redmine-directory]' e depois executar esse comando.
Tim Wong
80

Verifique se você está no diretório do projeto antes de executar bundle install. Por exemplo, após a execução rails new myproject, você desejará cd myprojectantes de executar bundle install.

bluesman333
fonte
Sim, esse foi realmente o problema e eu consegui resolver o problema no final. Obrigado pela ajuda.
Ian
6

Eu tive o mesmo problema e resolvi-o usando um diretório diferente.

instalação do pacote bash-4.2 $
Não foi possível localizar o 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 extras Gemfile lib plugins Rakefile script tmp
bin arquivos config.ru doc ​​Gemfile.lock log public README.rdoc test vendor
plugins bash-4.2 $ cd /
instalação do pacote bash-4.2 $
Usando rake (0.9.2.2) 
Usando o i18n (0.6.0) 
Usando multi_json (1.3.6) 
Usando o suporte ativo (3.2.11) 
Usando o construtor (3.0.0) 
Usando o modelo de ativação (3.2.11) 
Usando erubis (2.7.0) 
Usando a jornada (1.0.4) 
Usando rack (1.4.1) 
Usando cache em rack (1.2) 
Usando teste de rack (0.6.1) 
Usando caminhada (1.2.1) 
Usando inclinação (1.3.3) 
Usando rodas dentadas (2.2.1) 
Usando o actionpack (3.2.11) 
Usando tipos MIME (1.19) 
Usando poliglota (0.3.3) 
Usando copa de árvore (1.4.10) 
Usando correio (2.4.4) 
Usando actionmailer (3.2.11) 
Usando o arel (3.0.2) 
Usando tzinfo (0.3.33) 
Usando o activerecord (3.2.11) 
Usando o recurso ativo (3.2.11) 
Usando coderay (1.0.6) 
Usando rack-ssl (1.3.2) 
Usando json (1.7.5) 
Usando o rdoc (3.12) 
Usando thor (0.15.4) 
Usando railties (3.2.11) 
Usando jquery-rails (2.0.3) 
Usando o mysql2 (0.3.11) 
Usando net-ldap (0.3.1) 
Usando ruby-openid (2.1.8) 
Usando o open-rack (1.3.1) 
Usando o bundler (1.2.3) 
Usando trilhos (3.2.11) 
Usando o rmagick (2.13.1) 
Seu pacote i
Amit Gupta
fonte
3

Resolvi um problema semelhante apenas fazendo o backup do diretório do projeto, depois o CD novamente no diretório do projeto e a instalação do pacote.

Dennis Keefe
fonte
1

Aqui está algo que você poderia tentar.

Adicione isso a qualquer arquivo de configuração usado para executar seu aplicativo.

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

Rails e outros aplicativos baseados em rack usam esse esquema. Às vezes, você está tentando executar coisas que são alguns diretórios mais profundos que a sua raiz, onde o Gemfile normalmente está localizado. É claro que você resolveu esse problema por enquanto, mas ocasionalmente todos enfrentamos problemas com a localização do Gemfile. Às vezes gosto quando você pode ter todas as suas gemas no diretório .bundle também. Nunca é demais manter esse endereço do site debaixo do travesseiro. http://bundler.io/

Douglas G. Allen
fonte
0

É muito simples quando diz 'Não foi possível localizar o Gemfile', significa na pasta em que você está atualmente ou em um diretório em que está, não existe um arquivo chamado GemFile. Portanto, no prompt de comando, forneça um caminho explícito ou completo para a pasta there, onde o nome do arquivo "Gemfile" é, por exemplo, cd C: \ Usuários \ Administrador \ Desktop \ RubyProject \ demo.

Definitivamente será resolvido em um minuto.

Titus H.
fonte