Thin を使用して、テスト マシンに配置されたレール アプリケーションを提供します。ローカル マシンからシンを停止/開始できるようにしたいのですが、次の方法では機能しません。
ssh luc@test_machine '/home/luc/.rvm/gems/ruby-1.9.3-p125/bin/thin -v'
次のエラー メッセージが表示されました。
/home/luc/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs': Could not find thin (>= 0) amongst [bigdecimal-1.1.0, io-console-0.3, json-1.5.4, minitest-2.5.1, rake-0.9.2.2, rdoc-3.9.4] (Gem::LoadError)
from /home/luc/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:256:in `to_spec'
from /home/luc/.rvm/rubies/ruby-1.9.3-p125/lib/ruby/site_ruby/1.9.1/rubygems.rb:1230:in `gem'
from /home/luc/.rvm/gems/ruby-1.9.3-p125/bin/thin:18:in `<main>'
スコアがあるのに 6 つの宝石しか表示されないのはなぜですか?
テストサーバーに ssh で接続している場合:
which thin
正しいパスを教えてください:
/home/luc/.rvm/gems/ruby-1.9.3-p125/bin/thin (question updated with correct path)
アップデート
サーバー上に基本的な test.sh スクリプトを作成しました。
#!/bin/bash
# Update path with ruby / gem
export PATH=$PATH:/home/luc/.rvm/rubies/ruby-1.9.3-p125/bin:/home/luc/.rvm/gems/ruby-1.9.3-p125/bin/
thin -v
exit 0
ローカルマシンから呼び出します
ssh luc@test_machine '/home/luc/test.sh'
しかし、それでも同じ「薄いものが見つかりませんでした」というエラーが表示されます。
更新 2
これは、スクリプトが ssh を介して実行されるときに使用される rubies / gemset にリンクされている可能性があります。私が追加しました
rvm list
rvm gemset list
test.sh ファイルと出力は次のとおりです。
rvm rubies
* ruby-1.9.3-p125 [ x86_64 ]
# => - current
# =* - current && default
# * - default
gemsets for system (found in /home/luc/.rvm/gems/system)
*
私がインストールしたgemがそこにないようです...ただし、ssh呼び出しで使用するルビー/gemsetのバージョンを指定する方法がわかりません。