イラッとしたのでメモ。
概要
Linux など UNIX 系 OS に Play framework 本体をインストールし、${PLAY_HOME}/play コマンドで play clean compile stage
などをした場合に、
java.io.FileNotFoundException: /path/to/play/framework/sbt/boot/sbt.boot.lock (Permission denied)
at java.io.FileOutputStream.open(Native Method)
とか
java.io.FileNotFoundException: /path/to/play/repository/.sbt.ivy.lock (許可がありません)
at java.io.FileOutputStream.open(Native Method)
などの Java の IOException が発生してしまうことがある件への暫定対処です。
原因
そもそも何でこの例外が発生するのかというと、Play framework 本体をインストールした際のユーザ (所有者) であったりパーミッションの設定が厳しかったりすることが原因となり、上記した類のロックファイルの作成や書き込みができないことによります。
※ play
コマンドを実行したときに、${PLAY_HOME} ディレクトリ以下に書き込みをする Play framework もどうかと思いますがね…
(暫定) 対処法
本当はもうちょっとスマートな方法があるんじゃないか… と思ったのですが何かと面倒そうなので、
chmod -R go+wx ${PLAY_HOME}/framework/sbt/boot
chmod -R go+wx ${PLAY_HOME}/repository
こんな感じで解決するのがいいでしょう。
2013.8.21 追記
よくよく Play! 2.x の公式ドキュメント http://www.playframework.com/documentation/2.1.3/Installing を読んでみると、
Download the latest Play binary package (take the latest official version) and extract the archive to a location where you have both read and write access. (Runningと書かれていました。つまり「(ファイル/ディレクトリ書き込みなどをするから)play
writes some files to directories within the archive, so don’t install to/opt
,/usr/local
or anywhere else you’d need special permission to write to.)
/opt
, /usr/local
にはインストールするなボケ!」ということですね。
Quickbooks tool hub is a multipurpose tool for resolving common issues in Quickbooks. It is a collection of the essential tools which are used in Quickbooks to troubleshoot errors in Quickbooks
返信削除