J'ai spécifié la version et les rails nouveaux, mais pour une raison quelconque, la dernière version est incluse ~

introduction

Le but de cet article est de présenter la procédure de rails de la nouvelle application Rails 6.0.3.1 dans l'environnement local Rails 6.0.3.3 et la gestion des erreurs qui s'est produite à ce moment-là.

environnement

Rails 6.0.3.3

procédure

1 Vérifiez la version des rails installés

% rails -v  
Rails 6.0.3.3

2 Consultez la liste des versions disponibles

% gem list rails
** LOCAL GEMS ***

rails (6.0.3.4, 6.0.3.3, 6.0.3.2, 5.2.4.3)

3 Installer les rails 6.0.3.1

gem i -v 6.0.3.1 rails

4 Vérifiez à nouveau la version

% gem list rails                                                                                                                                                                               

*** LOCAL GEMS ***

rails (6.0.3.4, 6.0.3.3, 6.0.3.2, 6.0.3.1, 5.2.4.3)

5 "rails new" sans charger le Gemfile

rails _6.0.3.1_ new SampleApp -d mysql --skip-bundle

Explication

---d mysql spécifie DB comme mysql.

--Saisissez le nom de la version (numéro) que vous souhaitez spécifier à la place de _6.0.3.1_. --new Sample App est le nom de l'application. ---- skip-bundle spécifie que Gemfile ne doit pas être lu.

6 Modifier Gemfile

Pour le moment, la version des rails locaux (6.0.3.3 dans ce cas) est spécifiée, alors éditez le Gemfile et changez-le pour la version que vous voulez spécifier (6.0.3.1 dans ce cas).

Avant le changement) gemme'rails', '~> 6.0.3.3'
Après le changement) gemme'rails', '= 6.0.3.1'

Explication

-- ~> 6.0.3.3 signifie que les rails 6.0.x.x (série 6.0) peuvent être utilisés, donc le dernier 6.0.3.3. sera installé dans cet état.

7 installation groupée

% bundle install

Ensuite, l'erreur suivante se produit

The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
Fetching gem metadata from https://rubygems.org/............
Fetching gem metadata from https://rubygems.org/.
Resolving dependencies...
Bundler could not find compatible versions for gem "activesupport":
  In snapshot (Gemfile.lock):
    activesupport (= 6.0.3.4)

  In Gemfile:
    web-console (>= 3.3.0) was resolved to 4.0.4, which depends on
      actionview (>= 6.0.0) was resolved to 6.0.3.4, which depends on
        activesupport (= 6.0.3.4)

    rails (= 6.0.3.1) was resolved to 6.0.3.1, which depends on
      activesupport (= 6.0.3.1)

Running `bundle update` will rebuild your snapshot from scratch, using only
the gems in your Gemfile, which may resolve the conflict.

Pour faire simple, j'obtiens une erreur disant "Si vous voulez spécifier rails 6.0.3.1, vous ne pouvez pas utiliser d'autres gemmes sauf si vous correspondez à la version!".

Donc, comme indiqué dans l'instruction d'erreur, changez la version des autres gemmes avec bundle update.

8 mise à jour du bundle

% bundle update

Vérifiez si la version spécifiée de l'application peut être créée

% rails -v
Rails 6.0.3.1

C'est la fin!

référence

[Erreur de rails] Que faire si une version supérieure est incluse même si vous spécifiez la version avec des rails nouveau https://techtechmedia.com/rails-new-version-error/

Recommended Posts

J'ai spécifié la version et les rails nouveaux, mais pour une raison quelconque, la dernière version est incluse ~
référentiel Le gem spécifié est le bundle installé mais pas mis à jour vers la dernière version
Mauvaise configuration d'énumération. Pour une raison quelconque, je ne peux pas obtenir de données de la colonne spécifiée par Enum ...
Le paramètre strong est vrai, mais pour une raison quelconque, il ne peut pas être enregistré dans le tableau.
Que faire si l'application n'est pas créée avec la dernière version de Rails installée lorsque les rails sont neufs
[Rails] J'ai étudié la différence entre une nouvelle méthode, une méthode de sauvegarde, une méthode de construction et une méthode de création.
[Ruby] Votre version de Ruby est 2.6.3, mais votre Gemfile a spécifié 2.5.8
Votre version Ruby est 2.4.6, mais votre Gemfile a spécifié 2.6.4
[Rails] J'ai essayé de faire passer la version de Rails de 5.0 à 5.2
[Rails] J'ai étudié la différence entre les ressources et les ressources
[Rails] Quelle est la différence entre la redirection et le rendu?
Que dois-je utiliser pour le framework de test [Rails]
Quand la commande vagabond ne fonctionne pas