2

Rails アプリを Ubuntu サーバーにデプロイしようとしています。私はすでにインストールしており、現在、アプリを展開するためにrvm使用しようとしています。bundler

しかし、私はこれを得ています:

/usr/local/rvm/rubies/ruby-1.9.3-p374/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir': Permission denied - /myroot/repos/myapp/.bundle (Errno::EACCES)

rvmまず、コマンド全体を実行しているユーザーは? つまり、パスrakebundleなどがありますが、どのユーザーがそれらを実行しているか正確にはわかりません。

最初の目的として、/myappフォルダー内のすべてのファイルのアクセス許可を変更してみました。それらを与えますroot:rvmが、運はありません。

bundle コマンドをsudo(実際には任意の ruby​​ コマンドで) 実行しようとすると、次のようなエラーが発生します。

/usr/local/rvm/gems/ruby-1.9.3-p374@global/bin/ruby_noexec_wrapper

したがって、ラッパーとは何か、なぜルビーが見つからないのかについて少し説明すると、この種のエラーを理解するのに大いに役立ちます。

4

1 に答える 1

0

RVM / Ruby / RubyGemsの構成に使用されるデフォルトの損失環境変数として、およびRubyGemsがインストールされているコマンドは使用sudoしないことをお勧めします。rvmrubysudo

本当に使用する必要がある場合sudo-一緒に行くrvmsudo-しかし、それがあなたのシステムを公開する特権を高めることを警告する必要があります、それはセキュリティリスクです。

于 2013-02-18T16:15:18.877 に答える