13

R 3.0 is my default version. I have R 2.14 installed and want to use that due to package dependencies. Note the packages cannot be built for 3.0. How can I force ubuntu to load the earlier version?

conjectures
  • 801
  • 2
  • 7
  • 24
  • There's a way to do it without Docker, but I'm unaware of an easier way. – Ari B. Friedman Nov 12 '14 at 21:59
  • What do you mean "load"? Do you mean "install"? Or "run"? Have you got 2.14 and 3.0 installed then you just need to run the R shell script that starts the version you want to run... – Spacedman Nov 12 '14 at 22:29

1 Answers1

14

You set the PATH accordingly. There are tools / libraries that do that for you (common in university environments with multiple versions of things in /usr/local/ or /opt.

Here is a simple ad-hoc version:

edd@max:~$ which R                 # my default R
/usr/bin/R
edd@max:~$ R --version | head -1
R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
edd@max:~$ cat bin/R-devel.sh      # a wrapper I use
#!/bin/bash
export PATH="/usr/local/lib/R-devel/bin:$PATH"
R "$@"
edd@max:~$                         # gives me another R
edd@max:~$ R-devel.sh --version | head -1
R Under development (unstable) (2014-11-11 r66970) -- "Unsuffered Consequences"
edd@max:~$ 
edd@max:~$ ( PATH="/usr/local/lib/R-devel/bin:$PATH"  R --version | head -1 )
R Under development (unstable) (2014-11-11 r66970) -- "Unsuffered Consequences"
edd@max:~$ 

The change at the can be done by a script or in different ways -- the key is that by pre-prending PATH with the one for the version you want, you end up with that version found first.

Dirk Eddelbuettel
  • 360,940
  • 56
  • 644
  • 725