diff --git a/cmd/ipfs/init.go b/cmd/ipfs/init.go index 77f3fb9f0..839ee2c9d 100644 --- a/cmd/ipfs/init.go +++ b/cmd/ipfs/init.go @@ -32,9 +32,13 @@ func init() { } func initCmd(c *commander.Command, inp []string) error { - _, err := os.Lstat(config.DefaultConfigFilePath) + filename, err := config.Filename(config.DefaultConfigFilePath) + if err != nil { + return errors.New("Couldn't get home directory path") + } + fi, err := os.Lstat(filename) force := c.Flag.Lookup("f").Value.Get().(bool) - if err != nil && !force { + if fi != nil || (err != nil && !os.IsNotExist(err)) && !force { return errors.New("ipfs configuration file already exists!\nReinitializing would overwrite your keys.\n(use -f to force overwrite)") } cfg := new(config.Config)