You think so
. If you do not want to become root by using sudo -i to try the command I pasted for you, you could also use
user@system:~$ sudo ls -dla /root/.gnupg
drwx------ 3 root root 4096 Okt 13 21:43 /root/.gnupg
By using sudo su you stay in the current directory of the unprivileged user (probably your home directory in your case).
user@system:~$ sudo su
root@PureBlackSoul:/home/user# pwd
/home/user
But the command that fails tries to use .gnupg in the home directory of root as you can see here:
user@system:~$ sudo sh -c 'echo $HOME'
/root
You need to make the .gnupg directory in /root as shown in my ls output above.