自動化にはchefを使いました。
私のシナリオの 1 つで、システムにインストールされている rvm からパッセンジャーのバージョン番号を抽出する必要があります。
これには「pasver」変数を使用しました。
pasver = `/usr/local/rvm/bin/gem リスト | grep パッセンジャー`.sub /.*\((.*)\).*/, '\1'
しかし、この変数を使用すると、この場合:
もしも !::File.exists?("/usr/local/rvm/gems/#{node['redmine']['rubyversion']}/gems/passenger-#{pasver}/buildout/apache2/mod_passenger.so")それから
次に、この条件は常に false であり、if ブロックのコードは実行されません。
これは、pasver 変数に new of line が含まれているためです。
この新しい行を削除するにはどうすればよいですか?
私は次の方法を使用しましたが、成功しませんでした:
pasver = `/usr/local/rvm/bin/gem リスト | grep パッセンジャー`.sub /.*\((.*)\).*/, '\1'.gsub("\n",'')