Mina: ミナコンソール'bash:バンドル:コマンドが見つかりません'

作成日 2017年01月24日  ·  8コメント  ·  ソース: mina-deploy/mina

mina consoleエラーを発生させますbash: bundle: command not found

ソースコードを確認すると、minaconsoleが行うことは

  1. current_pathにcd
  2. rails cを実行します

ただし、rvmまたはrbenを使用する場合は、最初にgemsetを使用してRubyバージョンをロードする必要があります。

最も参考になるコメント

これはrbenvで私のために働きます:

`` `
タスク:environment do
#rbenvを使用している場合は、これを使用してrbenv環境をロードします。
#必ず.ruby-versionまたは.rbenv-versionをリポジトリにコミットしてください。
呼び出す:' rbenv:load '

#RVMを使用している場合は、これを使用してRVM version@gemsetをロードします。
#invoke:' rvm:use [ruby-1.9。 3-p125 @ default ] '
終わり


desc「インタラクティブなRailsコンソールを起動します。」
task:c =>:environment do
呼び出す:'コンソール'
終わり
`` `

全てのコメント8件

同じ問題があります。

これはrbenvで私のために働きます:

`` `
タスク:environment do
#rbenvを使用している場合は、これを使用してrbenv環境をロードします。
#必ず.ruby-versionまたは.rbenv-versionをリポジトリにコミットしてください。
呼び出す:' rbenv:load '

#RVMを使用している場合は、これを使用してRVM version@gemsetをロードします。
#invoke:' rvm:use [ruby-1.9。 3-p125 @ default ] '
終わり


desc「インタラクティブなRailsコンソールを起動します。」
task:c =>:environment do
呼び出す:'コンソール'
終わり
`` `

@hovancikありがとう、それは私のために働いています。

しかし、どうすれば修正できますか? ハックなしで、箱から出してすぐに作業できます

これについて、私はまだこの問題を抱えています

私の場合は、最初にrbenvをロードしてから、 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

上記の出力でわかるように、 environmentタスクはconsoleの後に呼び出されます。 また、 rbenv:loadタスクは2回呼び出されます。

現在、私はこのようにやっています:

# 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

これを修正するためのより実用的な方法はありますか?

mina 1.1.0 local_environmentremote_environmentが導入されましたhttps://github.com/mina-deploy/mina/commit/972a26ce354e8031a0656c16783c02390c821e33

あなたはそれを使うことができます

このページは役に立ちましたか?
0 / 5 - 0 評価