L'installation du bundle renvoie «Impossible de localiser Gemfile»

102

Je suis nouveau sur Rails et je travaille actuellement sur un guide. Le guide déclare:

Utilisez un éditeur de texte pour mettre à jour le Gemfile requis par Bundler avec le contenu du Listing 2.1.

source 'https://rubygems.org'

gem 'rails', '3.2.3'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.

group :assets do
  gem 'sass-rails',   '3.2.4'
  gem 'coffee-rails', '3.2.2'
  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.0'

group :production do
  gem 'pg', '0.12.2'
end

Nous installons et incluons ensuite les gemmes en utilisant la bundle install commande:

    $ bundle install --without production 

Si Bundler se plaint, no such file to load -- readline (LoadError)essayez d'ajouter gem ’rb-readline’à votre Gemfile.)

J'ai suivi les étapes même en ajoutant gem 'rb-readline'au Gemfile, mais apparemment le fichier ne peut pas être trouvé et quand je vais dans mon éditeur de texte, je le vois Gemfile. J'ai remarqué qu'ils m'ont fait mettre gem 'rails', 3.2.3et ma version de Rails est 3.2.1 alors j'ai essayé de la changer en 3.2.1 mais cela n'a pas fonctionné non plus.

Toute réflexion ou conseil serait très apprécié.

premier niveau
la source
1
pourquoi mettez-vous des - - caractères dans la liste Gemfile?
MikDiet
non non je viens de mettre ça là-bas donc c'est plus lisible pour vous les gars, puisque je ne peux pas encore utiliser d'images .. j'utilise un éditeur de texte sublime juste pour votre information.
levelone
2
J'ai trouvé la solution au problème .. je suppose que "$ cd demo_app" puis "$ install bundle" à partir de cet emplacement de dossier. :)
levelone

Réponses:

244

Vous avez juste besoin de changer les répertoires à votre application, puis exécutez bundle install:)

svoisen
la source
1
@svoisen,: D Google inclut votre réponse dans l'extrait de code lors de la recherche de ce problème particulier, btw. Bravo et merci de l'avenir privé de sommeil!
Jaime le
1
BTW, vous pouvez trouver le répertoire de votre application en utilisant la whereis <app_name>commande, habituellement le Gemfile est sous / usr / shared / *
4gus71n
L'application pourrait également être dans un dossier dans / opt /
Mo Beigi
Ajoutez simplement un dégagement qui se déplace vers le dossier du projet, pas le dossier «bin» du projet :)
20

Vous pouvez également indiquer le chemin vers le gemfile dans la même commande, par exemple

BUNDLE_GEMFILE="MyProject/Gemfile.ios" bundle install
houbena
la source
2
Réponse parfaite. Parce que dans ma situation, je ne peux pas obtenir la commande d'accès au bundle partout. [root@alc bin]# BUNDLE_GEMFILE="../../apps/redmine/htdocs/Gemfile" ./bundle installest ma commande à exécuter.
uzay95
Pour une raison quelconque, j'avais ce problème lorsque je copiais un Gemfile dans un conteneur de docker, je ne pouvais pas trouver un .bundle et j'avais défini mon WOKRDIR mais il ne semblait pas l'attraper pour l'installation du bundle, cela a fait l'affaire!
ConstantineK
17

J'ai également eu ce problème sur une machine OSX. J'ai découvert que les rails n'étaient pas installés ... ce qui m'a surpris car je pensais qu'OSX était toujours livré avec des rails. Pour installer des rails

  • sudo gem install rails
  • pour installer jekyll j'avais aussi besoin de sudo
  • sudo gem install jekyll bundler
  • cd ~/Sites
  • jekyll new <foldername>
  • cd <foldername> OU cd !$ (c'est magique;)
  • bundle install
  • bundle exec jekyll serve
  • Ensuite, dans votre navigateur, accédez simplement à http://127.0.0.1:4000/ et il devrait vraiment fonctionner
MAILO
la source
Évitez d'utiliser sudopour installer des gemmes. Cela vous causera de la douleur. En savoir plus: thinkbot.com/blog/psa-do-not-use-system-ruby
David Hempy
13

Vous devez être dans le même répertoire que Gemfile

forzagreen
la source
7

Quand j'ai eu un problème similaire gem update --systemm'a aidé. Exécutez ceci avantbundle install

Dzianis Yafimau
la source
2

J'ai eu ce problème sur Ubuntu 18.04. J'ai mis à jour le bijou

  • sudo gem installer des rails
  • sudo gem installer jekyll
  • sudo gem installer le bundler jekyll
  • cd ~ / dossier souhaité
  • jekyll nouveau
  • cd OU
  • bundle init
  • installation groupée
  • bundle ajouter jekyll
  • bundle exec jekyll serve

Tout a fonctionné et allez dans votre navigateur, allez simplement à http://127.0.0.1:4000/ et il devrait vraiment fonctionner

osmjit
la source
0

1 assurez-vous que le fichier est Gemfileau lieu de gemfile.

2 assurez-vous que vous êtes dans le même répertoire que le Gemfile.

Adam Allalou
la source
-1

Recherchez le fichier Gemfile dans votre projet, allez dans ce répertoire puis exécutez "bundle install". avant d'exécuter cette commande, assurez-vous d'avoir installé le gem "sudo gem install bundler"

Anant Agarwal
la source
il a fait une "installation groupée", je ne comprends pas votre réponse
Gar
-10

Réfléchissez davantage à ce que vous installez et parcourez le dossier Gemfile, puis essayez d'utiliser sudo bundle install

Biscuit
la source
2
vous ne devriez jamais exécuter bundle avec sudo
tasomaniac