Package dependency error "there is no package called ‘stringi’" - r

I created an R package and loaded it to github (microdadosBrasil). When I try to install the package (as a user would) I get the following error:
devtools::install_github("lucasmation/microdadosBrasil")
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
there is no package called ‘stringi’
I tried solving this by adding stringi to the package dependencies
In DESCRIPTION in included:
Imports:
stringi
I also included the package import at NAMESPACE
import(stringi)
But, even then I get the same installation error.
To be hones I'm not even aware of any explicit function in my package that uses the stringi package.
If I install stringi before then the microdadosBrasil installation works:
install.packages('stringi')
devtools::install_github("lucasmation/microdadosBrasil")
This is the session information when error occurs (before pre-installing stringi)
sessionInfo()
R version 3.1.3 (2015-03-09)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
locale:
[1] LC_COLLATE=Portuguese_Brazil.1252 LC_CTYPE=Portuguese_Brazil.1252
[3] LC_MONETARY=Portuguese_Brazil.1252 LC_NUMERIC=C
[5] LC_TIME=Portuguese_Brazil.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.1.3

The problem is due to dependencies of packages because one package calls file in another package and so on (like recursion). So first try to install all dependencies of the package then definitely this package will work.

Related

Install "gradethis" package for code checking in "learnr"

I am creating the interactive tutorials for R for presentation using "learnr" package. For code checking, I need the package "gradethis". When I try to install this package by
"
remotes::install_github("rstudio-education/gradethis")
"
it gives the error message:
.
.
.
** byte-compile and prepare package for lazy loading
Error in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]) :
namespace ‘learnr’ 0.10.1 is being loaded, but >= 0.10.1.9007 is required
ERROR: lazy loading failed for package ‘gradethis’
─ removing ‘/private/var/folders/r2/3nmkgqc51q54tmhxl00tsk2908fpk9/T/RtmpaPONJB/Rinst15003850258d/gradethis’
-----------------------------------
ERROR: package installation failed
Error: Failed to install 'gradethis' from GitHub:
.
.
.
The error message shows "‘learnr’ 0.10.1 is being loaded, but >= 0.10.1.9007 is required", however on CRAN, 0.10.1 is the latest version:
https://cran.r-project.org/web/packages/learnr/index.html
Can anyone help for this case? Many thanks.
The following show sessionInfo()
> sessionInfo()
R version 3.5.1 (2018-07-02)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.6
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.5.1 rjson_0.2.20 plyr_1.8.6
[4] markdown_1.1 htmltools_0.5.1.9000 tools_3.5.1
[7] base64enc_0.1-3 yaml_2.2.1 Rcpp_1.0.6
[10] rmarkdown_2.6 knitr_1.31 xfun_0.20
[13] digest_0.6.27 tutorial_0.4.3 rlang_0.4.10.9000
[16] evaluate_0.14
Since gradethis is still in a developmental/experimental phase, it is currently only available through GitHub at rstudio/gradethis. gradethis currently requires the developmental version of learnr which is also not yet on CRAN.
Installing both packages from their GitHub repositories will likely resolve your issues:
# install.packages("remotes") # require {remotes}
remotes::install_github("rstudio/learnr")
remotes::install_github("rstudio/gradethis")
Edit: The gradethis repository is now hosted under the rstudio GitHub organization.
Reproduced the error (macOS Big Sur 11.1 / Rstudio 1.3.1093 / R version 4.0.3) and solved the issue by uninstalling learnr with remove.packages("learnr") then installing gradethis with dependencies (including the required version of learnr) using remotes::install_github("rstudio-education/gradethis").
If you get a warning that "Skipping install of 'gradethis' from a github remote, the SHA1 has not changed since last install", use the command remotes::install_github("rstudio-education/gradethis", force = TRUE)
Successfully installing the packages requires the ability to compile from source (instructions for macOS Big Sur: https://stackoverflow.com/a/65334247/12957340)

R devtools unable to install - Ubuntu 20.04 - package or namespace load failed for ‘pkgload’

I am pretty desperate to install.packages("devtools").
However it allways fails with this error
Error: .onLoad failed in loadNamespace() for 'pkgload', details:
call: readRDS(nsInfoFilePath)
error: error reading from connection
Execution halted
ERROR: lazy loading failed for package ‘devtools’
* removing ‘/home/bjoern/R/x86_64-pc-linux-gnu-library/3.6/devtools’
Things I tried to fix this:
Add the dependencies = T argument
Following a suggestion by hadley wickham on github -> update rlang package
Try to run install.packages("pkgload") resulting in nearly exactly the same error (see below)
Completely removing R and reinstalling it
Additionally installing package following packages:
r-base-dev
r-cran-devtools
r-recommended
Updated all packages update.packages(ask = FALSE, checkBuilt = TRUE)
Error of install.packages("pkgload")
Error: package or namespace load failed for ‘pkgload’:
.onLoad failed in loadNamespace() for 'pkgload', details:
call: readRDS(nsInfoFilePath)
error: error reading from connection
Error: loading failed
Execution halted
ERROR: loading failed
I digged even deeper to the pkgload (which at least I hope is the only reason for the problem). I will check if manually (re)installing all imports and suggests from the CRAN page of pkgload does solve it.
Imports: desc, methods, pkgbuild, rlang, rprojroot, rstudioapi,
utils, withr Suggests: bitops, covr, Rcpp, testthat
My sessionInfo() output:
R version 3.6.3 (2020-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 20.04 LTS
Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=de_DE.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=de_DE.UTF-8 LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=de_DE.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=de_DE.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.3 tools_3.6.3
I still refuse to belief that it is impossibe to install devtools on ubuntu20
However at this point I take any straw
Solution Edit:
In short what fixed the issue for me was installing testthat package before. Thanks to comment by rui-barradas
install.packages("testthat")
install.packages("pkgload")
install.packages("devtools")
I am also on Ubuntu 20.04 but running R 4.0.0.
When trying to install a package, if it depends on another that was installed prior to R 4.0.0 I get an error message and the installation fails. This happens even if I set dependencies = TRUE in the call to install.packages.
Example: The command was
install.packages('pkgload')
I omit the first output lines, saying that the file was downloaded. Then, the relevant part.
installing source package ‘pkgload’ ...
** package ‘rcmdcheck’ successfully unpacked and MD5 sums checked
** using staged installation
** R
** byte-compile and prepare package for lazy loading Error: package ‘testthat’ was installed before R 4.0.0: please re-install it
Execution halted ERROR: lazy loading failed for package ‘pkgload’
removing ‘/usr/local/lib/R/site-library/pkgload’
restoring previous ‘/usr/local/lib/R/site-library/pkgload’ Warning in install.packages : installation of package ‘pkgload’ had
non-zero exit status The downloaded source packages are in
‘/tmp/RtmpVxpbs0/downloaded_packages’
Correct way.
The right way of installing package pkgload was to run the sequence
install.packages('testthat')
install.packages('pkgload')
and the problem was solved.
Note that with other packages, it already happened to see this be a recursive issue. Imagine that package testthat depended (which it does not) on another package installed prior to R 4.0.0.
Annoying but solvable.
sessionInfo()
#R version 4.0.0 (2020-04-24)
#Platform: x86_64-pc-linux-gnu (64-bit)
#Running under: Ubuntu 20.04 LTS
#
#Matrix products: default
#BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.9.0
#LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.9.0
#
#locale:
# [1] LC_CTYPE=pt_PT.UTF-8 LC_NUMERIC=C
#[3] LC_TIME=pt_PT.UTF-8 LC_COLLATE=pt_PT.UTF-8
# [5] LC_MONETARY=pt_PT.UTF-8 LC_MESSAGES=pt_PT.UTF-8
# [7] LC_PAPER=pt_PT.UTF-8 LC_NAME=C
# [9] LC_ADDRESS=C LC_TELEPHONE=C
#[11] LC_MEASUREMENT=pt_PT.UTF-8 LC_IDENTIFICATION=C
#
#attached base packages:
#[1] stats graphics grDevices utils datasets
#[6] methods base
#
#other attached packages:
#[1] rvest_0.3.5 xml2_1.3.2 data.table_1.12.8
#
#loaded via a namespace (and not attached):
I had the same problems, and the solution was, at least in my case, Ubuntu 20.04.1 LTS (Focal Fossa) + R 4.0.2:
First (from terminal), install:
Step 1: sudo apt-get update -y
Step 2: sudo apt-get install -y libxml2-dev
Then from RStudio (setRepositories first, and choose 8 repositories) and install both packages:
Install xml2 package
install devtools
And works for me.

Error trying to install Googleway package

Been trying to install googleway for more than a week and it is just not working.
i have used the: install.packages("googleway", dependencies= T)'
install.packages("googleway",
repos=c("http://rstudio.org/_packages",
"http://cran.rstudio.com"))
i see it in my package list but when i try to call it with library it gives an error that another package is missing. the packages are : mime jsonlite Rcpp
tried installing these separately but still..
sessionInfo()
R version 3.4.2 (2017-09-28)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 7 x64 (build 7601) Service Pack 1
Matrix products: default
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] compiler_3.4.2 tools_3.4.2
trying to install today was successful, library() command gave the below
library(googleway)
Error: package or namespace load failed for ‘googleway’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
there is no package called ‘shiny’
going back to the installation code:
package ‘shiny’ successfully unpacked and MD5 sums checked
tried to seperately installing 'shiny', got the below error message when installation finished:
Error: invalid version specification ‘NA’
In addition: Warning message:
In utils:::packageDescription(packageName, fields = "Version") :
no package 'knitr' was found
tried to call googleway after that:
library(googleway)
Error: package or namespace load failed for ‘googleway’ in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]):
there is no package called ‘htmltools’
i did try to install knitr still i get that a certain package is missing when i call googleway
note that i am able to download other packages and calling them successfully.
The problem was not with googleway as other packages started doing the same.
I uninstalled and reinstalled R and Rstudio then i reset R studio to desktop state using this link
https://support.rstudio.com/hc/en-us/articles/200534577-Resetting-RStudio-s-State

Installing ggplot2 in R without being connected to the Internet

I tried to install the package ggplot2 on my computer with the command line:
install.packages("C:/r-packages/ggplot2",repos = NULL,type = "sourse")
Unfortunately I got the following error:
* installing *source* package 'ggplot2' ...
** package 'ggplot2' successfully unpacked and MD5 sums checked
** R
** data
*** moving datasets to lazyload DB
** inst
** preparing package for lazy loading
Error in loadNamespace(i, c(lib.loc, .libPaths()), versionCheck = vI[[i]]) :
object 'vI' not found
ERROR: lazy loading failed for package 'ggplot2'
* removing 'C:/Users/rachel/Documents/R/win-library/3.3/ggplot2'
Warning in install.packages :
running command '"C:/PROGRA~1/R/R-33~1.1/bin/x64/R" CMD INSTALL -l
"C:\Users\rachel\Documents\R\win-library\3.3" "C:/r-packages/ggplot2"' had status 1
Warning in install.packages :
installation of package ‘C:/r-packages/ggplot2’ had non-zero exit status
I don't have a connection to the internet so I can't download the package directly (This is why the repos=NULL). I also installed Rtools, but I still face the same problem. The same error appears when I am trying to install the packages car or devtools
sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows Server >= 2012 x64 (build 9200)
locale:
[1] LC_COLLATE=English_United States.1252 LC_CTYPE=English_United States.1252
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C
[5] LC_TIME=English_United States.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] Rcpp_0.12.6
loaded via a namespace (and not attached):
[1] tools_3.3.1
You don't need to unzip the source file that you download from CRAN (make sure it is the source, too: you want the one labelled 'Package source'). So if you're installing from source and have downloaded to your typical Downloads folder, I'd expect it to look like this:
install.packages("C:/Users/rachel/Downloads/ggplot2_2.1.0.tar.gz")
(The repos argument is inferred if you're only installing one package at a time, and type defaults to source. You misspelt source in your example, but I don't think that's a problem because of the default.)
You could also download the Windows binary, which comes as a ZIP file, and install that in a similar way:
install.packages("C:/Users/rachel/Downloads/ggplot2_2.1.0.zip", type = 'win.binary')

I can't load devtools in R 3.2.0

I am developping R packages with Rstudio. Until now, I used R 3.1.2 and all worked fine. Recently I have updated R to 3.2.0 version and I have updated the packages too. Now, when loading devtools:
> library(devtools)
Error in inDL(x, as.logical(local), as.logical(now), ...) :
unable to load shared object 'C:/Documents and Settings/cruiz.CREAL/Mis documentos/R/win-library/3.2/git2r/libs/i386/git2r.dll':
LoadLibrary failure: No se encontró el proceso especificado.
Error: package or namespace load failed for ‘devtools’
I have reinstalled devtools and git2r with biocLite and with install.packages and it didn't work. This file already exists and it is on this path.
My R session Info:
R version 3.2.0 (2015-04-16)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows XP (build 2600) Service Pack 3
locale:
[1] LC_COLLATE=Spanish_Spain.1252 LC_CTYPE=Spanish_Spain.1252
[3] LC_MONETARY=Spanish_Spain.1252 LC_NUMERIC=C
[5] LC_TIME=Spanish_Spain.1252
attached base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] tools_3.2.0
Thank you very much!
I suggest the following:
remove.packages(c("git2r", "devtools", "rversions")).
Use the information from my answer on this post -- R - Error installing Devtools in Windows to reinstall devtools. This should also reinstall the needed dependencies.

Resources