Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Package ‘assertive’ was removed from the CRAN repository. Causes nmecr installation to fail. #27

Closed
greggridium opened this issue Nov 1, 2023 · 8 comments

Comments

@greggridium
Copy link

Describe the bug
Installation of nmecr on a new machine fails with message:
ERROR: dependency ‘assertive’ is not available for package ‘nmecr’
See: https://cran.r-project.org/web/packages/assertive/index.html
Archived on 2023-10-24 as requires archived package 'assertive.properties'

To Reproduce
On a clean machine without a prior installation of R (to ensure assertive package is not present from an earlier installation", install nmecr according to directions:
install.packages("devtools")
devtools::install_github("kW-Labs/nmecr", upgrade = "never")

Expected behavior
Expect successful installation.

Desktop (please complete the following information):

  • OS: Mac OS Ventura 13.4.1
  • R version 4.3.1

Additional context
Able to complete installation by manually installing archived version of "assertive" and its dependencies from the archive. Screenshot of successful installation below:
image

@equalaction
Copy link

I also encountered this error on 12/28/2023.

@greggridium
Copy link
Author

Has anyone had a chance to look into this yet? The assertive package is still removed from cran, so I suspect it is not coming back.

@mhsjacoby
Copy link
Contributor

mhsjacoby commented Jan 31, 2024

Thanks for bringing this to our attention. In the future we will remove dependence on the Assertive package, but for now, please install the package and it's dependencies from archive using the following lines of code in RStudio:

  1. Install assertive package dependencies that are still available on cran:
packages <- c('assertive.base', 'assertive.numbers', 'assertive.files',  'assertive.matrices', 'assertive.models', 'assertive.reflection')
new.packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(packages, require, character.only = TRUE)
  1. Install remaining assertive package dependencies from archive:
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.properties/assertive.properties_0.0-5.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.types/assertive.types_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.strings/assertive.strings_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.datetimes/assertive.datetimes_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data/assertive.data_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.uk/assertive.data.uk_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.code/assertive.code_0.0-4.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.us/assertive.data.us_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("assertive.sets")
  1. Install assertive package:
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive/assertive_0.3-6.tar.gz", repos=NULL, type="source")

@greggridium
Copy link
Author

greggridium commented Jan 31, 2024 via email

@grickit
Copy link

grickit commented Mar 14, 2024

Looks like assertive.reflection has also since been archived (March 1st)

@k-wolfe99
Copy link
Contributor

k-wolfe99 commented Mar 14, 2024

Looks like assertive.reflection has also since been archived (March 1st)

@grickit you are correct, thanks for pointing this out. You can add that package from the archive, like the other archived packages, using this line.

install.packages("https://cran.r-project.org/src/contrib/Archive/assertive/assertive_0.3-6.tar.gz", repos=NULL, type="source")

For anyone attempting an install of nmecr from scratch, this update of the code written by @mhsjacoby works as of 2024-03-14.

Step 1:

packages <- c('assertive.base', 'assertive.numbers', 'assertive.files',  'assertive.matrices', 'assertive.models', 'assertive.sets')
new.packages <- packages[!(packages %in% installed.packages()[,"Package"])]
if(length(new.packages)) install.packages(new.packages)
lapply(packages, require, character.only = TRUE)

Step 2:

install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.properties/assertive.properties_0.0-5.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.types/assertive.types_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.strings/assertive.strings_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.datetimes/assertive.datetimes_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data/assertive.data_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.uk/assertive.data.uk_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.code/assertive.code_0.0-4.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.us/assertive.data.us_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.reflection/assertive.reflection_0.0-5.tar.gz", repos=NULL, type="source")

Step 3:

install.packages("https://cran.r-project.org/src/contrib/Archive/assertive/assertive_0.3-6.tar.gz", repos=NULL, type="source")

@k-wolfe99
Copy link
Contributor

k-wolfe99 commented Apr 19, 2024

Update to earlier fix: the assertive package and all of its dependencies have been archived as of 4/12/24. Earlier code suggested in this thread will no longer work. Copy, paste, and execute the below code in the R console to install assertive.

## Manually install assertive package dependencies from archive
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.base/assertive.base_0.0-9.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.numbers/assertive.numbers_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.files/assertive.files_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.matrices/assertive.matrices_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.models/assertive.models_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.sets/assertive.sets_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.reflection/assertive.reflection_0.0-5.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.properties/assertive.properties_0.0-5.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.types/assertive.types_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.strings/assertive.strings_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.datetimes/assertive.datetimes_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data/assertive.data_0.0-3.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.uk/assertive.data.uk_0.0-2.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.code/assertive.code_0.0-4.tar.gz", repos=NULL, type="source")
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive.data.us/assertive.data.us_0.0-2.tar.gz", repos=NULL, type="source")


## Install assertive package
install.packages("https://cran.r-project.org/src/contrib/Archive/assertive/assertive_0.3-6.tar.gz", repos=NULL, type="source")

I am working on removing our dependence on the assertive package and will update this issue when an update is pushed.

@mhsjacoby
Copy link
Contributor

This issue has been resolved with the release of nmecr v1.0.17. There should be no remaining dependencies on any assertive packages. Please update nmecr to the latest version and let us know if you encounter any errors. Thanks everyone who pointed this out to us for your engagement with nmecr! Thanks @k-wolfe99 for your interim and final fixes.

To update to the latest version, run these two lines:
remove.packages("nmecr")
devtools::install_github("kW-Labs/nmecr", upgrade = "never")

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants