[RUBY] Pourquoi puis-je utiliser la commande rails installée avec gem? ??

Introduction * Sous l'environnement local de Windows. *

Comme le titre l'indique, j'étais curieux, alors j'ai cherché.

Courez avec une poubelle / des rails ou des rails? ?? Tout d'abord, en tant que connaissance préalable, courez-vous avec des bacs / rails ou des rails? ??

En conclusion, peu importe celui que vous utilisez, mais la source de référence est différente.

Ajoutez un bin pour faire référence au répertoire du projet. </ span> </ strong>

Voir les rails locaux (globaux) sans bac. </ span> </ strong>

Puis le sujet principal. Pourquoi puis-je utiliser la commande rails installée avec le gem

? ?? </ h2> La commande rails doit transmettre Path dans la variable d'environnement locale. .. .. </ del>

→ C'est un malentendu très superficiel! !!

les rails sont installés avec la gemme comme suit.

$ gem install rails -v "5.2.3"
$ rails -v
Rails 5.2.3

Alors pourquoi la commande rails passe-t-elle sur des rails installés avec gem? ??

Je l'ai cherché.

Les variables d'environnement sont:

C:\Ruby26-x64\bin

Si vous cochez ici, cela ressemble à ceci.

$ ls Ruby26-x64/bin
_guard-core*             coderay.bat  nokogiri*     rails.bat  ruby_builtin_dlls/  spring*
_guard-core.bat          erb*         nokogiri.bat  rake*      rubyw.exe*          spring.bat
bundle.cmd               erb.cmd      pry*          rake.bat   sass*               sprockets*
bundler.cmd              gem*         pry.bat       rake.cmd   sass.bat            sprockets.bat
byebug*                  gem.cmd      puma*         rdoc*      sass-convert*       sqlite3.def
byebug.bat               guard*       puma.bat      rdoc.cmd   sass-convert.bat    sqlite3.dll*
chromedriver-helper*     guard.bat    pumactl*      ri*        scss*               thor*
chromedriver-helper.bat  irb*         pumactl.bat   ri.cmd     scss.bat            thor.bat
chromedriver-update*     irb.cmd      rackup*       ridk.cmd   setrbvars.cmd       tilt*
chromedriver-update.bat  listen*      rackup.bat    ridk.ps1   slimrb*             tilt.bat
coderay*                 listen.bat   rails*        ruby.exe*  slimrb.bat          x64-msvcrt-ruby260.dll*

Il y avait des rails. Il semble y faire référence.

Cependant, je ne peux pas le confirmer, je vais donc enquêter plus avant.

Les différentes bibliothèques installées par gems sont ci-dessous.

C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems

Vérifier le contenu des rails 5.2.3.

$ ls Ruby26-x64/lib/ruby/gems/2.6.0/gems/rails-5.2.3
README.md

cette? ?? Comment vous y référez-vous? ??

Essayez d'utiliser quelle commande.

$ which rails
/c/Ruby26-x64/bin/rails

Résolu ◎

Après que tous les rails ont été référencés dans le répertoire bin directement sous Ruby.

Au fait, pourquoi y fait-on référence? .. ..

Apparemment, la commande which a les règles suivantes.

quelle commande recherche dans l'ordre des répertoires définis dans la variable d'environnement PATH et affiche la première commande trouvée Si quelle commande est une telle méthode de référence, la commande l'est aussi! !!

Point ✌

Remarques: spécifiez le chemin lors de l'installation du bundle Si vous l'exécutez sans le spécifier, il sera installé comme suit, comme décrit ci-dessus.
C:\Ruby26-x64\lib\ruby\gems\2.6.0\gems
La méthode pour spécifier le chemin est la suivante
bundle install --path vendor/bundle
Vous pouvez maintenant l'installer dans le fournisseur / bundle directement sous le projet.

À propos, l'installation du bundle est également exécutée par défaut lorsque les rails sont nouveaux, mais vous pouvez ignorer l'exécution en ajoutant l'option B.

rails new rails_app -B

Une fois installés avec les options, les paramètres sont enregistrés ci-dessous et vous n'avez pas besoin de les spécifier.

Projet /.bundle/config

---
BUNDLE_PATH: "vendor/bundle"

Référence Les commandes de console Rails 4.1 et versions ultérieures doivent-elles toujours ajouter bin /?

Comment trouver l'emplacement de la commande

Spécifiez le chemin d'installation lorsque vous effectuez une installation groupée avec rails

Conclusion Je souhaitais porter plus d'attention à la gestion de l'environnement local au quotidien.

Recommended Posts