.../.ipfs/repo.lock: someone else has the lock

Yeah, there were just problems I was having with what seemed an easy and proper workflow. I was following this simple example on their docs for publishing IPNS records. Ultimately, to publish the entry to ipfs I actually don’t even need to do this stuff because, the IPFS API Publish method that is used, doesn’t accept an ipns entry object. So I fixed my problem just using the api commands like this, roughly:

// Go
const KeyName = "temp"
sh := shell.NewShell(localhost)

key, err := sh.KeyGen(context.Background(), KeyName) //generate temp key to local node
if err != nil {
	panic(err)
}

	publishToIPNS(ipfsPath, key.Name) // publish ipfsPath to ipfs under temp key
 
	err = deleteKey(key.Name) // delete temp key
	if err != nil {
		panic(err)
	}