Mina: Mina console 'bash: bundle: commande introuvable'

Créé le 24 janv. 2017  ·  8Commentaires  ·  Source: mina-deploy/mina

mina console erreur de relance bash: bundle: command not found

Pendant que je passe en revue le code source, ce que fait la console mina est

  1. cd vers current_path
  2. exécuter rails c

Cependant, lorsque nous utilisons rvm ou rben, nous devons d'abord charger la version ruby ​​avec gemset.

Commentaire le plus utile

Cela fonctionne pour moi avec rbenv:

```
tâche : environnement faire
# Si vous utilisez rbenv, utilisez ceci pour charger l'environnement rbenv.
# Assurez-vous de valider votre .ruby-version ou .rbenv-version dans votre référentiel.
invoquer :' rbenv:load '

# Pour ceux qui utilisent RVM, utilisez ceci pour charger un RVM version@gemset.
# invoquer :' rvm:use [ruby-1.9. 3-p125@défaut ]'
finir


desc "Démarre une console de rails interactive."
tâche :c => :environnement faire
appeler :'console'
finir
```

Tous les 8 commentaires

J'ai écrit le même problème https://github.com/mina-deploy/mina/issues/476

J'ai le même problème.

Cela fonctionne pour moi avec rbenv:

```
tâche : environnement faire
# Si vous utilisez rbenv, utilisez ceci pour charger l'environnement rbenv.
# Assurez-vous de valider votre .ruby-version ou .rbenv-version dans votre référentiel.
invoquer :' rbenv:load '

# Pour ceux qui utilisent RVM, utilisez ceci pour charger un RVM version@gemset.
# invoquer :' rvm:use [ruby-1.9. 3-p125@défaut ]'
finir


desc "Démarre une console de rails interactive."
tâche :c => :environnement faire
appeler :'console'
finir
```

@hovancik Merci, cela a fonctionné pour moi.

Mais comment peut-il être réparé? Pour travailler dès la sortie de la boîte, sans aucun hack

veuillez jeter un œil à https://github.com/mina-deploy/mina/blob/master/docs/faq.md# --command-not-found-bundle

A ce sujet, j'ai toujours ce problème

Dans mon cas, c'est parce que je dois d'abord charger rbenv pour ensuite exécuter bundle

$ mina console -s --trace
** Invoke console (first_time)
** Execute console
** Invoke debug_configuration_variables (first_time)
** Execute debug_configuration_variables
** Invoke run_commands (first_time)
** Execute run_commands
** Invoke environment (first_time)
** Execute environment
** Invoke rbenv:load (first_time)
** Execute rbenv:load
** Invoke nvm:load (first_time)
** Execute nvm:load
#!/usr/bin/env bash
# Executing the following via 'ssh [email protected] -i config/deployment_key -p 22 -tt':
#
echo "-----> Loading rbenv"
export RBENV_ROOT="$HOME/.rbenv"
export PATH="$HOME/.rbenv/bin:$PATH"
if ! which rbenv >/dev/null; then
  echo "! rbenv not found"
  echo "! If rbenv is installed, check your :rbenv_path setting."
  exit 1
fi
eval "$(rbenv init -)"
echo "-----> Loading nvm"
[ -s "/home/deployer/.nvm/nvm.sh" ] && . "/home/deployer/.nvm/nvm.sh"
(cd /home/deployer/app/current && RAILS_ENV="production" bundle exec rails console && cd -)
echo "-----> Loading rbenv"
export RBENV_ROOT="$HOME/.rbenv"
export PATH="$HOME/.rbenv/bin:$PATH"
if ! which rbenv >/dev/null; then
  echo "! rbenv not found"
  echo "! If rbenv is installed, check your :rbenv_path setting."
  exit 1
fi
eval "$(rbenv init -)"
echo "-----> Loading nvm"
[ -s "/home/deployer/.nvm/nvm.sh" ] && . "/home/deployer/.nvm/nvm.sh"

       Elapsed time: 0.00 seconds

Comme vous pouvez le voir dans la sortie ci-dessus, la tâche environment est appelée après le console . De plus, la tâche rbenv:load est appelée deux fois.

Actuellement je fais comme ça :

# This task is the environment that is loaded for all remote run commands, such as
# `mina deploy` or `mina rake`.
task :load_env do
  # If you're using rbenv, use this to load the rbenv environment.
  # Be sure to commit your .ruby-version or .rbenv-version to your repository.
  invoke :'rbenv:load'
  invoke :'nvm:load'
end
task environment: :load_env
task console: :load_env

Existe-t-il un moyen plus pratique de résoudre ce problème?

mina 1.1.0 introduit local_environment et remote_environment https://github.com/mina-deploy/mina/commit/972a26ce354e8031a0656c16783c02390c821e33

Tu peux utiliser ça

Cette page vous a été utile?
0 / 5 - 0 notes