Sur une installation GitLab à partir de la source, j'ai des problèmes pour exécuter des binaires tels que rake
. Je ne l'ai jamais vu des problèmes similaires avec mes propres projets Ruby ou Rails:"bundle exec rake" n'honore pas "without"
# bundle config
Set for your local app (/mnt/data/www/gitlab.bitcetera.com/source/gitlab/.bundle/config): "1"
path
Set for your local app (/mnt/data/www/gitlab.bitcetera.com/source/gitlab/.bundle/config): "vendor/bundle"
without
Set for your local app (/mnt/data/www/gitlab.bitcetera.com/source/gitlab/.bundle/config): "development:test:unicorn:mysql:kerberos:metrics"
disable_shared_gems
Set for your local app (/mnt/data/www/gitlab.bitcetera.com/source/gitlab/.bundle/config): "true"
# bundle install --deployment --without development test unicorn mysql kerberos metrics
# bundle config
The Gemfile's dependencies are satisfied
# bundle exec rake --tasks
rake aborted!
LoadError: cannot load such file -- haml_lint/rake_task
En regardant la section pertinente du Gemfile:
group :development, :test do
[...]
gem 'haml_lint', '~> 0.21.0', require: false
[...]
end
Bien sûr, le petit bijou haml_lint
manque, après tout, il est dans les groupes "développement" et "test" seulement que j'ai exclus par "sans".
Une idée de ce qui se passe ici?
Ceci est logique sauf pour la partie où 'RAILS_ENV' devrait être réglé automatiquement. Il n'y a aucune raison pour que 'bundle exec' ou' rake' soit seul pour définir la valeur; sa valeur par défaut est initialisée par ['rails server'] (https://github.com/rails/rails/blob/111736ddf6fe81f3e42af37dfa1b0520a8c91473/railties/lib/rails/commands/server/server_command.rb#L33-L35) ou' rails console' (implémentation similaire). Si vous voulez que votre tâche de rake cible un environnement, la tâche doit implémenter un défaut par défaut. – anothermh