Quelqu'un a-t-il résolu ce problème avec Ruby 2.7.0
?
Utilicé rbenv
et installé Ruby v2.7.0 puis créé un projet Rails en utilisant Rails v6.0.2.1
.
Actuellement, en exécutant l'un des
rails s
rails s -u puma
rails s -u webrick
le serveur est en place et le site est servi, mais dans le cadre de la Console
Je vois deux messages d'avertissement dans le journal :
local:~/rcode/rb27$ rails s
=> Booting Puma
=> Rails 6.0.2.1 application starting in development
=> Run `rails server --help` for more startup options
.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/stack.rb:37: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call
.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/static.rb:110: warning: The called method `initialize' is defined here
Puma starting in single mode...
* Version 4.3.1 (ruby 2.7.0-p0), codename: Mysterious Traveller
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Donc, les messages d'avertissement sont :
**.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/stack.rb:37: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call**
**.rbenv/versions/2.7.0/lib/ruby/gems/2.7.0/gems/actionpack-6.0.2.1/lib/action_dispatch/middleware/static.rb:110: warning: The called method `initialize' is defined here**
J'ai vu ce lien et il y a quelques suggestions pour changer les avertissements comme "Si vous voulez désactiver les avertissements de dépréciation, veuillez utiliser un argument de ligne de commande -W:no-deprecated ou ajouter Warning[:deprecated] = false à votre code" mais je pensais à une solution/réparation un peu meilleure pour actionpack v6.0.2.1
9 votes
Les arguments positionnels et les arguments mots-clés doivent être séparés dans Ruby 3.0. Il s'agit d'un simple avertissement. Rails est rempli de ce modèle. ruby-lang.org/fr/news/2019/12/12/
4 votes
@JoshBrody merci beaucoup. J'ai vu ce lien et il y a quelques suggestions pour changer les avertissements comme "Si vous voulez désactiver les avertissements de dépréciation, veuillez utiliser un argument de ligne de commande -W:no-deprecated ou ajouter Warning[:deprecated] = false à votre code" mais je pensais à une solution/réparation un peu meilleure pour actionpack v6.0.2.1.
1 votes
Cacher les avertissements de dépréciation à tous les niveaux est une MAUVAISE idée, surtout si vous voulez faciliter vos futures mises à jour.
2 votes
@Vlad est d'accord, mais réduire temporairement le bruit des journaux est acceptable (si vous savez ce que vous faites).