Ubuntu サーバーに rbenv をインストールしました。アプリケーション ディレクトリに cd して$ bundle
問題なく実行できますが、実行する必要があるため$ sudo bundle exec ...
、エラーが発生します。
バンドル: コマンドが見つかりません
これはなぜですか、どうすれば修正できますか?
Ubuntu サーバーに rbenv をインストールしました。アプリケーション ディレクトリに cd して$ bundle
問題なく実行できますが、実行する必要があるため$ sudo bundle exec ...
、エラーが発生します。
バンドル: コマンドが見つかりません
これはなぜですか、どうすれば修正できますか?
完全にはわかりませんが、おそらくこれでうまくいくでしょう:
sudo -i -u $USER bundle exec...
また
sudo -i -u username_with_correct_env bundle exec...
Dan Carley のrbenv-sudoは、あなたが望むことをするように見えます:
rbenv-sudo は、sudo セッション内から rbenv が提供する Ruby と Gem を実行できるようにする rbenv のプラグインです。
それがどのように機能するかのより詳細な説明は、この記事で提供されています: Sudo Rbenv Me a Sandwich
エラーが発生する理由は既に解決されています。しかし、私は次のように言うことでそれを回避することができました:
sudo /full/path/to/bundle exec ...
私の場合、rbenv を使用しているため、次のことを行う必要がありました。
sudo /home/renier/.rbenv/shims/bundle exec ...
それはうまくいきました。/etc/sudoers
sudo がパスワードを要求しないようにするには、このようにファイルを構成する必要があります。https://serverfault.com/a/160587を参照してください。