MacでGoの開発環境を整えているときにハマったのでメモ。
Visual Studio Code上でGoの開発をするために設定する記事などは多数あるかと思います。
手順的にはこれらの手順で問題ないのですが、自分の環境では証明書をシステムに作成しようとすると「Operation not permitted」と出て作成が完了しない事象が発生。
こういうメッセージが出るということはセキュリティ的に権限がないとかそういうことかとあたりをつけて、Rootlessを下記記事を参照していったん解除してみました。
El CapitanのSystem Integrity Protection(rootless)の解除方法 - Qiita
その後、再度証明書を作成すると問題なくシステム上に作成されたので後は上の手順通りデバッグまでできることを確認。再度Rootlessを有効にしても問題なくデバッグできています。さらに追加で証明書をつくってみたところ、Rootlessが有効になっているにも関わらず今度は問題なく作成完了。
おそらく、以下のような状況かと想像していますが、ちゃんと調べていないので確証はないです。
- 証明書作成のさいにRootlessで制御されている箇所(ディレクトリ?)に触ろうとしてエラー
- Rootless解除後は問題なく作成完了
- 再度Rootless有効にすると、制御されているところは触らず追加のみになるので問題なく作成完了する
とりあえず手順などはGithubに置かれているドキュメントや上に張ったリンクの内容で問題ないので、そちらを参考にしつつ環境を整えるのがよろしいかと思います。