As I am new to Go, I am trying to execute my first Go code with terminal, as the code compiles and gives an output, But I am getting an error of initialization failure
go: disabling cache (/home/myname/.cache/go-build) due to initialization
failure: open /home/myname/.cache/go-build/log.txt: permission denied
How can I solve this?
The error you are facing is that you don't have enough privileges to create/delete/modify inside the directory you are trying to work in.
How to solve it?
The easy way: You can solve this problem by changing the permissions of the directory you are working on by using the chmod
command, for example: sudo chmod -R 777 /testDir
. Using this you are allowing the owner - group - others to create, delete, and modify the directory + the sub directories (when -R
is used). So i suggest you do sudo chmod -R 754 /testDir
for now.
The less easy way: You can use chown
which means changing the ownership for the directory for both the owner and the group, for example sudo chown -R newOwner:newGroup /testDir
and by that you have the ultimate ownership for the directory + the sub directories.
The most easy yet a dangerous way: You can work in the directories as a root and do what ever you like, when you open up the terminal use the command sudo -s
and enter your password to be a root user. Not Recommended because it can destroy system files if you used it wrong! see the risks here Why is it bad to log in as root?