简体   繁体   中英

Installing R devtools package on WSL

The problem:

I'm trying to install the devtools package for R. I'm using Ubuntu 18.04 LTS on WSL , the Windows Subsystem for Linux.

I'm able to install some packages just fine with a simple call to install.packages() from within R on WSL. However, other packages seem to give me trouble.

None of the following methods I've tried seem to work:
* I've tried installing the package with install.packages() .
* I've tried installing from source into /usr/local/lib/R/site-library .
* I've tried installing from source into a personal library.

Error message:

I was recieving an error message like that discussed here , but I was unable to fix the problem by editing unpackPkgZip because it didn't exist.

The Question:

How can I install devtools on WSL?

Solution:

I was able to fix the problem by starting over. I uninstalled Ubuntu and then reinstalled it. With a fresh install of Ubuntu 18.04 I followed these instructions . There are other online tutorials which probably work just fine, but I followed this one. You can ignore the bit about installing an rstudio server and the fsl package if you wish.

# Install R on WSL
sudo apt-get update -qq -y
sudo apt-get install -y wget git
OS_DISTRIBUTION=$(lsb_release -cs)
wget -O- http://neuro.debian.net/lists/${OS_DISTRIBUTION}.us-nh.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
sudo apt-key adv --recv-keys --keyserver hkp://pool.sks-keyservers.net:80 0xA5D32F012649A5A9
sudo apt-get update

sudo apt-get install libopenblas-base r-base
sudo apt-get update -qq -y
sudo apt-get install -y libgit2-dev 
sudo apt-get install -y libcurl4-openssl-dev libssl-dev
sudo apt-get install -y zlib1g-dev libssh2-1-dev libpq-dev libxml2-dev 
#sudo apt-get install -y libhdf5 # This didn't work.

Now try installing devtools in R.

# Install devtools
install.packages("devtools", repos = "https://cran.rstudio.com/")

Permission error:

If you encounter a permission error like the following...

Warning in install.packages("edgeR") :'lib = "/usr/local/lib/R/site-library"' is not writable Would you like to use a personal library instead? (y/n)

...you need to provide the user with write access to the directory where R packages are installed (see here ). Try changing the group ownership of this directory:

# Who has ownership of /usr/local/lib/R/site-library/?
ls -l /usr/local/lib/R/
# drwxrwsr-x 1 root staff 512 Jul 18 21:38 site-library

# Change ownership.
sudo chgrp twesleyb /usr/local/lib/R/site-library/
ls -l /usr/local/lib/R/
#drwxrwxr-x 1 root twesleyb 512 Jul 18 21:38 site-library

# In this case I have write access, but in case you need to add it, try:
# $ sudo chmod g+w /usr/local/lib/R/site-library

You should now be able to install.packages("package") .

I'm a linux novice, but I think this is an okay thing to do.

Update:

You can also try following duckmayr's instructions .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM