Appendix B — Updating R, RStudio, and packages
From time-to-time, updated version of R, RStudio, and the packages you use (e.g., ggplot) will become available. Remember that each of these are separate, so they each have a different process and come with different considerations. We recommend updating to the latest version of all three at the start of each academic year.
B.1 Updating RStudio
RStudio is the easiest component to update. Typically, updates to RStudio won’t affect your code, instead they add in new features, like spell-check or upgrades to what RStudio can do. There’s usually very little downside to updating RStudio and it’s easy to do.
Click Help - Check for updates
If an update is available, it will prompt you to download it and you can install it as usual.
B.2 Updating R
Finally, you may also wish to update R itself. The key thing to be aware of is that when you update R, if you just download the latest version from the website, you will lose all your packages.
B.2.1 Windows
The easiest way to update R on Windows and not cause yourself a huge headache is to use the installr
package. When you use the updateR()
function, a series of dialogue boxes will appear. These should be fairly self-explanatory but there is a full step-by-step guide available for how to use installr
, the important bit is to select “Yes” when it asked if you would like to copy your packages from the older version of R.
B.2.2 Mac
For a Mac, you can use the
B.3 Updating packages
Package developers will occasionally release updates to their packages. This is typically to add in new functions to the package, or to fix or amend existing functions. Be aware that some package updates may cause your previous code to stop working. This does not tend to happen with minor updates to packages, but occasionally with major updates, you can have serious issues if the developer has made fundamental changes to how the code works. For this reason, we recommend updating all your packages once at the beginning of each academic year (or semester) - don’t do it before an assessment or deadline just in case!
To update an individual package, the easiest way is to use the install.packages()
function, as this always installs the most recent version of the package.
To update multiple packages, or indeed all packages, RStudio provides helpful tools. Click Tools - Check for Package Updates
. A dialogue box will appear and you can select the packages you wish to update. Be aware that if you select all packages, this may take some time and you will be unable to use R whilst the process completes.
B.4 Troubleshooting
Occasionally, you might have a few problem packages that seemingly refuse to update. For me, rlang
and vctrs
cause me no end of trouble. These aren’t packages that you will likely every explicitly load, but they’re required beneath the surface for R to do things like knit your Markdown files etc.
B.4.1 Non-zero exit status
If you try to update a package and get an error message that says something like Warning in install.packages : installation of package ‘vctrs’ had non-zero exit status
or perhaps Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) : namespace 'rlang' 0.4.9 is being loaded, but >= 0.4.10 is required
one solution I have found is to manually uninstall the package, restart R, and then install the package new, rather than trying to update an existing version. The installr
package also has a useful function for uninstalling packages.
B.4.2 Cannot open file
You may get the following error after trying to install any packages at all:
Error in install packages : Cannot open file ‘C:/…..’: Permission denied
This usually indicates a permissions problem with writing to the default library (the folder that packages are kept in). Sometimes this means that you need to install R and RStudio as administrator or run it as administrator.
One other fix may be to change the library location using the following code (check in “C:/Program Files/R” for what version you should have instead of “R-3.5.2”):
If that works and you can install packages, set this library path permanently:
- Install the
usethis package - Run
usethis::edit_r_profile()
in the console; it will open up a blank file - Paste into the file (your version of):
.libPaths(c("C:/Program Files/R/R-3.5.2/library"))
- Save and close the file
- Restart R for changes to take effect
The code in your .Rprofile will now run every time you start up R.
As always, if you’re having issues, please ask on Teams or come to office hours.