No se pudo encontrar Gemfile

138

Ciertamente no soy un desarrollador de Ruby, pero tengo una aplicación en mi servidor usando Ruby, Gems y Bundler. Estoy tratando de instalar otro Ruby en una cuenta de usuario diferente pero en el mismo VPS. Cuando voy a correr

bundle install

Obtuve el siguiente error:

No se pudo encontrar Gemfile

Podría eliminar el contenido del directorio ./bundle para que todas las gemas se vuelvan a buscar para borrar el error, pero ¿esto tendrá un impacto en mi otra aplicación que usa las mismas gemas y Bundler? No quiero arriesgarme a eliminar la otra aplicación.

Ian
fuente

Respuestas:

162

No tiene Gemfileen un directorio donde ejecuta ese comando. Gemfilees un archivo que contiene su gemconfiguración para un programa actual .

Joni
fuente
2
Gracias. Era algo así de simple. Simplemente tuve un problema porque tenía que iniciar sesión como usuario administrador para ejecutar el comando, pero el archivo de gemas estaba en un directorio bajo un usuario diferente. Me las arreglé para arreglarlo. ¡Gracias!
Ian
1
sí, tiene razón, si usa este comando para instalar redmine, debe 'cd [directorio-redmine]' y luego ejecutar ese comando.
Tim Wong el
80

Asegúrese de estar en el directorio del proyecto antes de ejecutarlo bundle install. Por ejemplo, después de correr rails new myproject, querrás hacerlo cd myprojectantes de correr bundle install.

bluesman333
fuente
Sí, este fue realmente el problema y al final logré solucionarlo. Gracias por tu ayuda.
Ian
6

Tuve el mismo problema y lo resolví usando un directorio diferente.

instalación del paquete bash-4.2 $
No se pudo encontrar 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 config.ru doc ​​files Gemfile.lock log public README.rdoc proveedor de prueba
bash-4.2 $ cd complementos /
instalación del paquete bash-4.2 $
Usando rastrillo (0.9.2.2) 
Usando i18n (0.6.0) 
Usando multi_json (1.3.6) 
Uso de soporte activo (3.2.11) 
Usando el constructor (3.0.0) 
Usando activemodel (3.2.11) 
Usando erubis (2.7.0) 
Usando viaje (1.0.4) 
Usando el estante (1.4.1) 
Utilizando rack-cache (1.2) 
Uso de prueba de rack (0.6.1) 
Usando caminata (1.2.1) 
Usando la inclinación (1.3.3) 
Usando ruedas dentadas (2.2.1) 
Usando actionpack (3.2.11) 
Usando tipos MIME (1.19) 
Usando políglota (0.3.3) 
Usando la copa del árbol (1.4.10) 
Usando el correo (2.4.4) 
Usando actionmailer (3.2.11) 
Usando arel (3.0.2) 
Usando tzinfo (0.3.33) 
Usando activerecord (3.2.11) 
Usando activeresource (3.2.11) 
Usando coderay (1.0.6) 
Usando rack-ssl (1.3.2) 
Usando json (1.7.5) 
Usando rdoc (3.12) 
Usando thor (0.15.4) 
Uso de las obscuridades (3.2.11) 
Usando jquery-rails (2.0.3) 
Usando mysql2 (0.3.11) 
Usando net-ldap (0.3.1) 
Usando ruby-openid (2.1.8) 
Usando rack-openid (1.3.1) 
Usando bundler (1.2.3) 
Usando rieles (3.2.11) 
Usando rmagick (2.13.1) 
Tu paquete i
Amit Gupta
fuente
3

Resolví un problema similar simplemente retrocediendo del directorio del proyecto, luego volví a cd en el directorio del proyecto e instalé el paquete.

Dennis Keefe
fuente
1

Aquí hay algo que puedes probar.

Agregue esto a cualquier archivo de configuración que use para ejecutar su aplicación.

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

Rails y otras aplicaciones basadas en Rack usan este esquema. A veces sucede que está intentando ejecutar cosas que son directorios más profundos que su raíz donde normalmente se encuentra su Gemfile. Por supuesto, resolvió este problema por ahora, pero ocasionalmente todos nos metemos en problemas al encontrar el Gemfile. A veces me gusta cuando puedes tener todas tus gemas en el directorio .bundle también. Nunca está de más mantener la dirección de este sitio debajo de la almohada. http://bundler.io/

Douglas G. Allen
fuente
0

Es muy simple. cuando dice 'No se pudo encontrar Gemfile' significa que en la carpeta en la que se encuentra actualmente o en un directorio en el que se encuentra, no hay un archivo llamado GemFile. Por lo tanto, en el símbolo del sistema, proporcione una ruta explícita o completa de la carpeta allí donde dicho nombre de archivo "Gemfile" es, por ejemplo, cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Definitivamente se resolverá en un minuto.

Titus H.
fuente