Written by: Paul Rubin
Primary Source: OR in an OB World
error: unable to read askpass response from ‘rpostback-askpass’
fatal: could not read Username for ‘https://github.com’: No such device or address
I searched high and low in RStudio but could not find any place to enter credentials for the remote repository. No worries, thought I; I’ll just add my public encryption key on GitHub, and use the private key on the PC, which works for me when I’m using the NetBeans IDE with BitBucket. Alas, no joy.
According to the error messages, the immediate issue seems to be not my password (I don’t think the challenge got that far) but my user name. Git has a global value for my user name recorded on my PC, but it’s not the same as my user name on GitHub. I was able to set a “local” user name, matching the one I have on GitHub, by opening a terminal in my R project directory and entering the command
git config user.name <my GitHub name, in quotes>
git config user.email <my email address>
That’s a bit more arcane than what I would expect a beginner to know, but so be it. I thought that would fix the problem. It did not; the error message remained unchanged. I suspect that the issue is that Git now has two names for me (global and local-to-the-R-project). If I run
git config -l
in the project directory, I see the following:
user.name=<my global user name>
user.email=<my global email address>
user.name=<my GitHub user name>
user.email=<my GitHub email address, same as the global one>
With two user names to choose from, perhaps RStudio is grabbing the global one? Or perhaps I’m barking up an entirely incorrect tree trying to find the source of the error.
At any rate, I can’t seem to push updates from the PC to GitHub using RStudio. Not to worry, though. There are other options. You can do it from the command line (if you are command-line user of Git, which for the most part I’m not). You can also use a separate Git client program, which is what I did. My Git GUI of choice is SmartGit, from which it is no chore to push (or pull) updates.