Contents
os.Create() でpermission errorに遭遇
os.Create()でファイル作成するコードで出会ったパーミッションエラーに関するメモです。
- エラー起きたコード
package mainimport ("log""os")func main() {fp, err := os.Create("hoge.txt")if err != nil {log.Println("[os.Create]:", err)}defer fp.Close()fp.WriteString("hogehoge")}
$ go run main.go2021/09/27 17:49:23 [os.Create]: open hoge.txt: permission denied
ファイルのパーミッションエラーかな?と思ったものの、よくよく調べるとディレクトリのパーミッションが原因のようでした。
package mainimport ("log""os")func main() { workDir, _ := os.Getwd()os.Chmod(workDir, 0777)fp, err := os.Create("hoge.txt")if err != nil {log.Println("[os.Create]", err)}defer fp.Close()fp.WriteString("hogehoge")}