Problems installing the devtools package
Asked Answered
O

18

201

I wish to use the devtools package. I've run the following commands:

> install.packages("devtools", dependencies = TRUE)
....
> library(devtools)
Error in library(devtools) : there is no package called ‘devtools’

What am I doing wrong?

Edit: Here are the results of re-running the install.packages command after restarting the session.

> install.packages("devtools", dependencies = TRUE)
Installing package into ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
Warning: dependencies ‘roxygen2’, ‘BiocInstaller’, ‘rstudio’ are not available
also installing the dependencies ‘httr’, ‘RCurl’

trying URL 'http://cran.at.r-project.org/src/contrib/httr_0.2.tar.gz'
Content type 'application/x-gzip' length 50183 bytes (49 Kb)
opened URL
==================================================
downloaded 49 Kb

trying URL 'http://cran.at.r-project.org/src/contrib/RCurl_1.95-4.1.tar.gz'
Content type 'application/x-gzip' length 870915 bytes (850 Kb)
opened URL
==================================================
downloaded 850 Kb

trying URL 'http://cran.at.r-project.org/src/contrib/devtools_1.4.1.tar.gz'
Content type 'application/x-gzip' length 105214 bytes (102 Kb)
opened URL
==================================================
downloaded 102 Kb

* installing *source* package ‘RCurl’ ...
** package ‘RCurl’ successfully unpacked and MD5 sums checked
checking for curl-config... no
Cannot find curl-config
ERROR: configuration failed for package ‘RCurl’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/RCurl’
ERROR: dependency ‘RCurl’ is not available for package ‘httr’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/httr’
ERROR: dependencies ‘httr’, ‘RCurl’ are not available for package ‘devtools’
* removing ‘/home/evanaad/R/x86_64-pc-linux-gnu-library/3.0/devtools’

The downloaded source packages are in
    ‘/tmp/RtmptvmTrA/downloaded_packages’
Warning messages:
1: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘RCurl’ had non-zero exit status
2: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘httr’ had non-zero exit status
3: In install.packages("devtools", dependencies = TRUE) :
  installation of package ‘devtools’ had non-zero exit status
Onfre answered 4/1, 2014 at 16:0 Comment(6)
Very hard to say based on this information. did the installation appear to go successfully??Psychographer
@BenBolker: I can't tell anymore. I was silly enough to log out of the session without noticing whether the installation was successful. I logged out thinking R needs to "restart" in order to pick up the newly installed package. Unfortunately, it didn't work as expected... Is there anything I can do about it now?Onfre
What happens when you rerun the install.packages command?Somato
@damienfrancois: I've updated my original post with the relevant output.Onfre
Try installing curl-dev or curl-devel with your package manager, or search for libcurlSomato
for me installing curl-devel solved my problem.Epigraph
O
204

As per damienfrancois's suggestion, I installed libcurl4-gnutls-dev and the problem was solved.

EDIT (@dardisco)

In your shell:

apt-get -y build-dep libcurl4-gnutls-dev
apt-get -y install libcurl4-gnutls-dev
Onfre answered 4/1, 2014 at 17:15 Comment(9)
I.e. (from BASH): apt-get -y build-dep libcurl4-gnutls-dev , apt-get -y install libcurl4-gnutls-devGender
Worked like charm. But I still can't get my head around, how these ubuntu packages solved it?Distribution
I have tried your methods in Ubuntu and the instructions seem work well and installation of devtools seems also succeed. but when I try to use` library(devtools)` to load the library but I only get those message Error in library(devtools) : there is no package called ‘devtools’Homophony
I don't think you need the build dependencies (build-dep) for libcurl4-gnutls-dev, since you're not going to build it yourself. Just installing the package should work fine.Cleareyed
Is there any chance to get it working on Windows too?Unmoving
The build deps will pull libssl-dev which seems to be needed by git2r.Juliusjullundur
Worked perfectly in Ubuntu 14 and R 3.3.0Deepfry
build dep didn't work for me, but I did do sudo apt-get install libssl-dev alsoHallerson
didn't work for me when building docker image: I get ---> E: You must put some 'source' URIs in your sources.listYamamoto
T
113

If you are using Ubuntu/Linux:

sudo apt-get install libcurl4-openssl-dev libssl-dev
Toomey answered 1/8, 2016 at 11:56 Comment(7)
I am getting this error in Ubuntu 16.04 The following information may help to rsolve the situation: The following packages have unmet dependencies: libcurl4-openssl-dev : Depends: libcurl3 (= 7.47.0-1ubuntu2) but 7.47.0-1ubuntu2.2 is to be installed libssl-dev : Depends: libssl1.0.0 (= 1.0.2g-1ubuntu4) but 1.0.2g-1ubuntu4.6 is to be installed Recommends: libssl-doc but it is not going to be installed E: Unable to correct problems, you have held broken packages.Livonia
The only thing I would add is a '-y' at the end so you don't have to say 'yes'. No time for consent these days.Hallerson
this should be in the documentation of R.Marlea
I tried this in Ubuntu 16.04. libcurl is installed. But still devtools is not installed in R. What am I possibly missing? Thanks.Isomagnetic
Works for Ubuntu 18.04 as well.Wifehood
as of 2022 a few more libs are required. So the whole thing would be sudo apt-get install libcurl4-openssl-dev libssl-dev libfontconfig1-dev libxml2-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev. Seems to do the trick.Rum
As to January 2023, @AmitKohli's answer is the correct one.Wynny
P
53

In case if you are using CentOS:

Try:

sudo yum -y install libcurl libcurl-devel
Placebo answered 14/11, 2014 at 20:15 Comment(4)
This is especially useful for anyone on an AWS instanceGladiolus
I also needed sudo yum -y install openssl-devel (on AWS)Hurlow
Recent Fedora: sudo dnf install libcurl libcurl-develAccustomed
How can I install them without root permission?Crevasse
P
24

I hit this issue with Ubuntu 18.04 and none of the previous answers solved it. Eventually I succeeded by installing devtools with the package manager itself:

sudo apt install r-cran-devtools

Peneus answered 11/4, 2019 at 7:12 Comment(3)
I had the same problem in Ubuntu 18.04 and solved it with this answer here. ThanksAllhallowmas
This seems to install the whole of CRAN. Really necessary? But it certainly worked! ThanksGulgee
I installed devtools on 18.04 by installing r-cran-devtools and libgit2-devFerriter
A
21

I'm on windows and had the same issue.

I used the below code :

install.packages("devtools", type = "win.binary")

Then library(devtools) worked for me.

Arta answered 20/12, 2019 at 3:18 Comment(0)
P
11

For my Debian Jessie box, I also included:

sudo apt-get build-dep libxml2-dev

Hint: The r-tool console output is pretty verbose so I would check for any other dependencies.

Then, I finally got it:

> find_rtools()
[1] TRUE
Pompey answered 10/6, 2015 at 17:26 Comment(0)
B
11

For ubuntu users, run this command in your terminal [Tested in UBUNTU 16.04]

sudo apt-get -y install libcurl4-openssl-dev

post this install libraries the way you usually do in R using

install.packages("package name")
Bagby answered 3/1, 2017 at 11:4 Comment(2)
How does this differ from answer by Sayali?Predicant
It worked for me manually as described here on an Ubuntu 18.04 that had a newer R than usual, although I needed to apt-get install r-cran-xml2 beforehand.Allhallowmas
G
11

None of the above answers worked for me on Ubuntu 18.04.3 LTS using R version 3.6.1

My guess is this might have something to do with Anaconda3...

What worked for me is:

conda install -c r r-devtools 

Then in R

install.packages("rlang")
install.packages("devtools")

sessionInfo()

R version 3.6.1 (2019-07-05)
Platform: x86_64-conda_cos6-linux-gnu (64-bit)
Running under: Ubuntu 18.04.3 LTS

Matrix products: default
BLAS/LAPACK: /home/tsundoku/anaconda3/lib/R/lib/libRblas.so

locale:
 [1] LC_CTYPE=en_CA.UTF-8       LC_NUMERIC=C              
 [3] LC_TIME=en_CA.UTF-8        LC_COLLATE=en_CA.UTF-8    
 [5] LC_MONETARY=en_CA.UTF-8    LC_MESSAGES=en_CA.UTF-8   
 [7] LC_PAPER=en_CA.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C            
[11] LC_MEASUREMENT=en_CA.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

loaded via a namespace (and not attached):
[1] compiler_3.6.1 tools_3.6.1    tcltk_3.6.1   
Gnat answered 5/11, 2019 at 18:54 Comment(2)
Great ! Thank you a lot !! it also worked for me in a conda environment on Ubuntu 20.04 LTS and R v3.6.1Joelie
Wow.. Thank You. This worked for me in conda environment on Ubuntu 20.04.2 LTS (GNU/Linux 5.11.0-25-generic x86_64) and R v4.1.3Wakeless
S
10

Nowadays (ubuntu 14.04) I need both:

 $ sudo apt-get -y install libcurl4-gnutls-dev
 $ sudo apt-get -y install libssl-dev
Shambles answered 1/9, 2016 at 4:5 Comment(0)
C
7

Best solution to solve this. I was searching the same problem. I spent 1 day and then I got solution. Now, It is well.

Check your R version in bash terminal if you are on Ubuntu or Linux.

R --version

then use these commands

sudo apt-get update 
sudo apt-get upgrade              

Now check the new version of R. Use this command

sudo apt-cache showpkg r-base

Now update the R only.

sudo apt-get install r-base

Now R will be updated and the error will be removed. Make sure to cd the library path where you want to install the new package. This way in bash terminal. Try to create the R directory at home folder or it will be at the default. Locate this location for package ~/R/lib/ .

R
.libPaths("~/R/lib")
install.packages("devtools")

OR

install.packages("devtools", lib="~/R/lib")
Celenacelene answered 7/10, 2015 at 12:55 Comment(0)
E
4

I worked through a number of issues installing all of the following to get devtools to install on Ubuntu 18.04.1.

sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-gnutls-dev
sudo apt-get install libxml2-dev
Epigraph answered 11/11, 2019 at 16:14 Comment(0)
O
4

I found solution by seeing errors by R-Studio when I tried to install devtools package...Basically Error is because of dependence libraries not installed in linux Look at ANTICONF ERROR Below

Installing package into ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6’
(as ‘lib’ is unspecified)
also installing the dependencies ‘curl’, ‘gh’, ‘openssl’, ‘xml2’, ‘usethis’, ‘covr’, ‘httr’, ‘roxygen2’, ‘rversions’


trying URL 'https://cloud.r-project.org/src/contrib/curl_4.3.tar.gz'
Content type 'application/x-gzip' length 673779 bytes (657 KB)
==================================================
downloaded 657 KB

trying URL 'https://cloud.r-project.org/src/contrib/gh_1.1.0.tar.gz'
Content type 'application/x-gzip' length 29043 bytes (28 KB)
==================================================
downloaded 28 KB

trying URL 'https://cloud.r-project.org/src/contrib/openssl_1.4.2.tar.gz'
Content type 'application/x-gzip' length 1204168 bytes (1.1 MB)
==================================================
downloaded 1.1 MB

trying URL 'https://cloud.r-project.org/src/contrib/xml2_1.3.2.tar.gz'
Content type 'application/x-gzip' length 271876 bytes (265 KB)
==================================================
downloaded 265 KB

trying URL 'https://cloud.r-project.org/src/contrib/usethis_1.6.1.tar.gz'
Content type 'application/x-gzip' length 255052 bytes (249 KB)
==================================================
downloaded 249 KB

trying URL 'https://cloud.r-project.org/src/contrib/covr_3.5.0.tar.gz'
Content type 'application/x-gzip' length 146148 bytes (142 KB)
==================================================
downloaded 142 KB

trying URL 'https://cloud.r-project.org/src/contrib/httr_1.4.2.tar.gz'
Content type 'application/x-gzip' length 159950 bytes (156 KB)
==================================================
downloaded 156 KB

trying URL 'https://cloud.r-project.org/src/contrib/roxygen2_7.1.1.tar.gz'
Content type 'application/x-gzip' length 254118 bytes (248 KB)
==================================================
downloaded 248 KB

trying URL 'https://cloud.r-project.org/src/contrib/rversions_2.0.2.tar.gz'
Content type 'application/x-gzip' length 41558 bytes (40 KB)
==================================================
downloaded 40 KB

trying URL 'https://cloud.r-project.org/src/contrib/devtools_2.3.1.tar.gz'
Content type 'application/x-gzip' length 373604 bytes (364 KB)
==================================================
downloaded 364 KB

* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
** using staged installation
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcurl' found
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libcurl' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
  deb: **libcurl4-openssl-dev** (Debian, Ubuntu, etc)
 * rpm: libcurl-devel (Fedora, CentOS, RHEL)
 * csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘curl’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/curl’
Warning in install.packages :
  installation of package ‘curl’ had non-zero exit status
* installing *source* package ‘openssl’ ...
** package ‘openssl’ successfully unpacked and MD5 sums checked
** using staged installation
Using PKG_CFLAGS=
--------------------------- [ANTICONF] --------------------------------
Configuration failed because openssl was not found. Try installing:
  deb: **libssl-dev** (Debian, Ubuntu, etc)
 * rpm: openssl-devel (Fedora, CentOS, RHEL)
 * csw: libssl_dev (Solaris)
 * brew: [email protected] (Mac OSX)
If openssl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a openssl.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
-------------------------- [ERROR MESSAGE] ---------------------------
tools/version.c:1:10: fatal error: openssl/opensslv.h: No such file or directory
    1 | #include <openssl/opensslv.h>
      |          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
--------------------------------------------------------------------
ERROR: configuration failed for package ‘openssl’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/openssl’
Warning in install.packages :
  installation of package ‘openssl’ had non-zero exit status
* installing *source* package ‘xml2’ ...
** package ‘xml2’ successfully unpacked and MD5 sums checked
** using staged installation
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml-2.0' found
Package libxml-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml-2.0' found
Using PKG_CFLAGS=
Using PKG_LIBS=-lxml2
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libxml-2.0 was not found. Try installing:
 deb: **libxml2-dev** (Debian, Ubuntu, etc)
 * rpm: libxml2-devel (Fedora, CentOS, RHEL)
 * csw: libxml2_dev (Solaris)
If libxml-2.0 is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libxml-2.0.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘xml2’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/xml2’
Warning in install.packages :
  installation of package ‘xml2’ had non-zero exit status
ERROR: dependencies ‘curl’, ‘openssl’ are not available for package ‘httr’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/httr’
Warning in install.packages :
  installation of package ‘httr’ had non-zero exit status
ERROR: dependency ‘xml2’ is not available for package ‘roxygen2’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/roxygen2’
Warning in install.packages :
  installation of package ‘roxygen2’ had non-zero exit status
ERROR: dependencies ‘curl’, ‘xml2’ are not available for package ‘rversions’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/rversions’
Warning in install.packages :
  installation of package ‘rversions’ had non-zero exit status
ERROR: dependency ‘httr’ is not available for package ‘gh’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/gh’
Warning in install.packages :
  installation of package ‘gh’ had non-zero exit status
ERROR: dependency ‘httr’ is not available for package ‘covr’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/covr’
Warning in install.packages :
  installation of package ‘covr’ had non-zero exit status
ERROR: dependencies ‘curl’, ‘gh’ are not available for package ‘usethis’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/usethis’
Warning in install.packages :
  installation of package ‘usethis’ had non-zero exit status
ERROR: dependencies ‘usethis’, ‘covr’, ‘httr’, ‘roxygen2’, ‘rversions’ are not available for package ‘devtools’
* removing ‘/home/hafiz/R/x86_64-pc-linux-gnu-library/3.6/devtools’
Warning in install.packages :
  installation of package ‘devtools’ had non-zero exit status

The downloaded source packages are in
    ‘/tmp/Rtmpexapon/downloaded_packages’

look at bold libraries which are missing libssl-dev libxml2-dev

just you need to install these libraries in ubuntu terminal or

whatever operating system you are using you will find relative errors w r t operating system see errors in details.. R-studio mentioned relative library package name against operating system

for ubuntu i did this

sudo apt-get install libssl-dev

**sudo apt-get install libxml2-dev **

sudo apt-get install libcurl4-openssl-dev

Ogilvie answered 29/8, 2020 at 22:53 Comment(1)
This worked well for me with the addition of iteratively installing those packages listed which did not have a non-zero exit statusOrdinand
S
4

On Ubuntu (20.04 focal), I needed to run this first:

apt-get update
apt-get install build-essential libcurl4-gnutls-dev libxml2-dev libssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libfreetype6-dev libpng-dev libtiff5-dev libjpeg-dev -y

Then installation of devtools worked.

This might seem like overkill but all were necessary for me (well, I'm not totally sure if build-essential is necessary, but it didn't hurt - I got that from here).

The way I figured which system libraries to install was by looking at the error messages carefully whenever install.packages("devtools") failed, because often the error message would tell you which system library to install, it's just that it was buried in the middle of the error message so it was hard to spot.

Sourdough answered 22/2, 2023 at 11:9 Comment(0)
L
3

CentOS 7: I had the libcurl and gnutls development packages installed already, but still got the "cannot load git2r.so" error when installing devtools in R. I had to "reinstall" them for it to work:

sudo yum reinstall gnutls-devel.x86_64
Lignify answered 5/8, 2016 at 19:43 Comment(0)
S
3

CentOS 7:

I tried solutions in this post

sudo yum -y install libcurl libcurl-devel
sudo yum -y install openssl-devel

but wasn't enough.

Checking R error in Console gave me the anwser. In my case it was lacking libxml-2.0 below (and Console printed an explanation with package name to different Linux versions and other possible R configs)

sudo yum -y install libxml2-devel
Stoned answered 18/12, 2019 at 14:7 Comment(0)
D
2

For R version 4.0.2 on Ubuntu 18.0.4, I had to install the the libgit2-dev package:

sudo apt-get install libgit2-dev

After that, worked like a charm.

Devorahdevore answered 13/1, 2021 at 13:58 Comment(0)
B
1

My personal experience:

I updated both R and RStudio. Then I installed devtools. As it gave me the same issues, I started installing the dependencies as appeared in the line:

`ERROR: dependencies ‘httr’, ‘RCurl’ are not available for package ‘devtools’ ` one by one. 

When you install them (for example the xml2 as in my case),

install.packages("xmls2")

It says:

Configuration failed because libxml-2.0 was not found. Try installing:
 * deb: libxml2-dev (Debian, Ubuntu, etc)
 * rpm: libxml2-devel (Fedora, CentOS, RHEL)
 * csw: libxml2_dev (Solaris)

The answer is in the response. Here I went to the command prompt and used:

sudo apt install libxml2-dev

Then I reused the command:

install.packages("xmls2")

I used a similar procedure for all other packages. Then finally,

install.packages("devtools"))

Sometimes one package may block the installation of many other packages. So please start installation from the first dependency on the list.

Bullheaded answered 28/1, 2023 at 0:57 Comment(0)
P
0

Centos 6.8

this work like charm for me

  1. install libcurl $yum -y install libcurl libcurl-devel
  2. restart R Software $rstudio-server verify-installation
Platino answered 28/1, 2019 at 9:9 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.