2017-07-10 2 views
4

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?

Répondre

3

Imaginé, un peu raison: RAILS_ENV aurait dû être réglé automatiquement mais ce n'était pas si bien sûr que les choses tournent mal.

+0

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