私はこれを動作させようとしていますrails dbconsole
(Rails 3.2.6)。問題は、私が取得するコマンドを実行するときです。
gems/railties-3.2.6/lib/rails/commands/dbconsole.rb:81:in `exec': Permission denied -
/usr/local/bin/mysql (Errno::EACCES)
私はOS X Lionを使用しており、コマンドラインで実行する一般的な方法が機能します。権限はmysql
次のとおりです。rails dbconsole
/usr/local/bin/mysql
$ ls -la /usr/local/bin/mysql
lrwxr-xr-x 1 root admin 16 Mar 13 20:27 /usr/local/bin/mysql -> /usr/local/mysql
このコマンドを呼び出すユーザーは管理者グループにあります(デフォルト設定 - >ユーザーダイアログボックスに表示されます)。
この問題を解決する方法についてのアイデアはありますか?mysql
コマンドラインでは実行できますが、他のプログラム(この場合はRuby / rails)を介して実行できないのはなぜですか?
この権限の問題が発生した場合は、権限システムを理解し、将来この種の問題を解決するのに役立つ良い記事/本/方法を教えてください。
答え1
推測: がmysql
実行されていませ/usr/local/bin/mysql
んが。実行可能ファイルが異常です。存在する場合はディレクトリになりたいです。走るmysql
$PATH
/usr/local/mysql
type mysql
実際に実行している項目を確認し、mysql
必要に応じ/usr/local/bin/mysql
て正しい場所を指すようにシンボリックリンクを変更してください。
-L
ls
次のオプションを追加すると、シンボリックリンク(-d
ディレクトリの場合)の後に実際に何があるかを確認できます。
ls -lLd /usr/local/bin/mysql