164 votes

Impossible de localiser le Gemfile

Je ne suis certainement pas un développeur Ruby, mais j'ai une application sur mon serveur qui utilise Ruby, Gems et Bundler. J'essaie d'installer une autre application Ruby sous un compte utilisateur différent mais sur le même VPS. Lorsque j'exécute

bundle install

Je reçois l'erreur suivante :

Impossible de localiser le Gemfile

Je pourrais supprimer le contenu du répertoire ./bundle pour que tous les Gems soient réinitialisés et que l'erreur disparaisse, mais cela aura-t-il un impact sur mon autre application utilisant les mêmes Gems et le même Bundler ? Je ne veux pas risquer de mettre l'autre application hors service.

2voto

Douglas G. Allen Points 359

Voici quelque chose que vous pourriez essayer.

Ajoutez ceci à 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)

Rails et d'autres applications basées sur Rack utilisent ce schéma. Il arrive parfois que vous essayiez d'exécuter des choses qui se trouvent dans des répertoires plus profonds que votre racine où se trouve normalement votre fichier Gemfile. Bien sûr, vous avez résolu ce problème pour l'instant, mais il nous arrive à tous d'avoir des difficultés à trouver le 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 l'adresse de ce site sous votre oreiller. http://bundler.io/

1voto

Hariraj Points 25

Dans mon cas, j'essayais d'exécuter du code rails vérifié localement dans un script. gem "rails", path: "../rails"

Exécuter le script normalement en tant que ruby script.rb a donné l'erreur Could not locate Gemfile or .bundle/ directory (Bundler::GemfileNotFound)

Définir le chemin du Gemfile de manière similaire à @douglasgallen l'a résolu

BUNDLE_GEMFILE="../rails" ruby script.rb

1voto

Dorian Points 1491

Je devais faire touch Gemfile .

Dans mon cas, il s'agissait d'une instance AWS Amazon Linux et de Capistrano qui configurait Puma.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X