macOS CatalinaでGraalVMやJDKが署名されていないから実行できない、と言われてしまうとき

何もGraalVMやJDKに限ったことではないが、備忘録として残しておく。GraalVMをmacOS Catalina (10.15) で動作させようとすると、Catalinaでのセキュリティ強化による影響で、「署名されていないために動作させない」という状況が発生した。

これは通常、[システム環境設定]>[セキュリティとプライバシー]で実行ファイルを追加したり、GateKeeperを無効化したりすることで回避できるが、前者はJDKやGraalVMといった多数の実行ファイルがある場合、いちいちやっていられないし、後者はシステム全体のセキュリティが低下する懸念がある。そのため、以下のコマンドをroot権限で実行(つまりsudoをつけて実行)して回避した。

sudo xattr -r -d com.apple.quarantine $GRAALVM_HOME

この例では$GRAALVM_HOMEを指定しているが、$JAVA_HOMEの場合もあるかもしれない。このコマンドは再帰的にサブディレクトリに対して効果を発揮するので、最上位のディレクトリに対して実施する。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください