From 2a817209db38e17e6ba1d4c7d598106c8cbec3d4 Mon Sep 17 00:00:00 2001 From: Massimiliano Pippi Date: Fri, 27 Dec 2019 16:06:21 +0100 Subject: [PATCH] make config init work on fresh installs --- cli/config/init.go | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cli/config/init.go b/cli/config/init.go index a7e298e8448..d997c305671 100644 --- a/cli/config/init.go +++ b/cli/config/init.go @@ -49,7 +49,13 @@ var initFlags struct { func runInitCommand(cmd *cobra.Command, args []string) { logrus.Info("Executing `arduino config init`") - configFile := filepath.Join(viper.GetString("directories.Data"), "arduino-cli.yaml") + dataDir := viper.GetString("directories.Data") + if err := os.MkdirAll(dataDir, os.FileMode(0755)); err != nil { + feedback.Errorf("Cannot create data directory: %v", err) + os.Exit(errorcodes.ErrGeneric) + } + + configFile := filepath.Join(dataDir, "arduino-cli.yaml") err := viper.WriteConfigAs(configFile) if err != nil { feedback.Errorf("Cannot create config file: %v", err)