Impossible de localiser Gemfile

138

Je ne suis certainement pas un développeur Ruby mais j'ai une application sur mon serveur utilisant Ruby, Gems et Bundler. J'essaie d'installer un autre Ruby sous un compte d'utilisateur différent mais sur le même VPS. Quand je vais courir

bundle install

J'obtiens l'erreur suivante:

Impossible de localiser Gemfile

Je pourrais supprimer le contenu du répertoire ./bundle afin que toutes les gemmes soient récupérées pour effacer l'erreur, mais cela aura-t-il un impact sur mon autre application utilisant les mêmes gemmes et bundler? Je ne veux pas prendre le risque de supprimer l'autre application.

Ian
la source

Réponses:

162

Vous n'avez pas Gemfiledans un répertoire où vous exécutez cette commande. Gemfileest un fichier contenant vos gemparamètres d'un courant programme.

Joni
la source
2
Merci. C'était quelque chose d'aussi simple. J'ai juste eu un problème car je devais être connecté en tant qu'utilisateur administrateur pour exécuter la commande, mais le gemfile était dans un répertoire sous un utilisateur différent. J'ai réussi à le faire trier. Merci!
Ian
1
oui, vous avez raison, si vous utilisez cette commande pour installer redmine, vous devez 'cd [redmine-directory]' puis exécuter cette commande.
Tim Wong
80

Assurez-vous que vous êtes dans le répertoire du projet avant d'exécuter bundle install. Par exemple, après avoir exécuté rails new myproject, vous voudrez cd myprojectavant de courir bundle install.

bluesman333
la source
Oui, c'était bien le problème et j'ai réussi à le régler à la fin. Merci de votre aide.
Ian le
6

J'ai eu le même problème et je l'ai résolu en utilisant un répertoire différent.

installation du bundle bash-4.2 $
Impossible de localiser 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 plugins de lib Gemfile script Rakefile tmp
bin fichiers doc config.ru Journal Gemfile.lock public README.rdoc fournisseur de test
plugins bash-4.2 $ cd /
installation du bundle bash-4.2 $
Utilisation du râteau (0.9.2.2) 
Utilisation d'i18n (0.6.0) 
Utilisation de multi_json (1.3.6) 
Utilisation d'actifsupport (3.2.11) 
Utilisation du générateur (3.0.0) 
Utilisation d'activemodel (3.2.11) 
Utilisation d'erubis (2.7.0) 
Utilisation de Journey (1.0.4) 
Utilisation du rack (1.4.1) 
Utilisation de rack-cache (1.2) 
Utilisation du test de rack (0.6.1) 
Utilisation de la randonnée (1.2.1) 
Utilisation de l'inclinaison (1.3.3) 
Utilisation de pignons (2.2.1) 
Utilisation de l'actionpack (3.2.11) 
Utilisation des types mime (1.19) 
Utilisation de polyglotte (0.3.3) 
Utilisation de la cime des arbres (1.4.10) 
Utiliser le courrier (2.4.4) 
Utiliser Actionmailer (3.2.11) 
Utiliser arel (3.0.2) 
Utilisation de tzinfo (0.3.33) 
Utilisation d'activerecord (3.2.11) 
Utiliser activeresource (3.2.11) 
Utilisation de coderay (1.0.6) 
Utilisation de rack-ssl (1.3.2) 
Utilisation de json (1.7.5) 
Utilisation de rdoc (3.12) 
Utilisation de Thor (0.15.4) 
Utilisation des rails (3.2.11) 
Utilisation de jquery-rails (2.0.3) 
Utiliser mysql2 (0.3.11) 
Utilisation de net-ldap (0.3.1) 
Utilisation de ruby-openid (2.1.8) 
Utilisation de rack-openid (1.3.1) 
Utilisation de bundler (1.2.3) 
Utilisation de rails (3.2.11) 
Utilisation de rmagick (2.13.1) 
Votre forfait i
Amit Gupta
la source
3

J'ai résolu un problème similaire simplement en sortant du répertoire du projet, puis en recadrant dans le répertoire du projet et en installant le bundle.

Dennis Keefe
la source
1

Voici quelque chose que vous pourriez essayer.

Ajoutez-le à tous les fichiers de configuration que vous utilisez pour exécuter votre application.

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

Les rails et autres applications basées sur Rack utilisent ce schéma. Il arrive parfois que vous essayez d'exécuter des choses qui sont des répertoires plus profonds que votre racine où se trouve normalement votre Gemfile. Bien sûr, vous avez résolu ce problème pour le moment, mais parfois nous avons tous des problèmes avec cette découverte du Gemfile. J'aime parfois quand vous pouvez avoir toutes vos gemmes dans le répertoire .bundle également. Cela ne fait jamais de mal de garder cette adresse de site sous votre oreiller. http://bundler.io/

Douglas G. Allen
la source
0

C'est très simple. quand il dit 'Impossible de localiser Gemfile', cela signifie que dans le dossier dans lequel vous vous trouvez actuellement ou dans un répertoire dans lequel vous vous trouvez, il n'y a pas de fichier nommé GemFile. Par conséquent, dans votre invite de commande, indiquez un chemin explicite ou complet du dossier là où le nom de fichier "Gemfile" est par exemple cd C: \ Users \ Administrator \ Desktop \ RubyProject \ demo.

Il sera définitivement résolu dans une minute.

Titus H.
la source