My Shiny app won't deploy because a required package (shiny.semantic) was removed from CRAN yesterday - what do I do?

I've updated my app.R file and have attempted to deploy it in the same way I always do. However, I got this error:

Warning: Unable to determine the repository for package semantic.dashboard
Warning: Unable to determine the repository for package shiny.semantic
Error: 
* Unable to determine the location for some packages. Packages must
   come from a package repository like CRAN or a source control system.
   Check that options('repos') refers to a package repository
   containing the needed package versions.
Execution halted

It seems that shiny.semantic and semantic.dashboard were removed from CRAN yesterday (see: CRAN - Package shiny.semantic )

How do I proceed in this case? Can I find out why these were removed? The link only says "check problems were not corrected in time".

This is where you should use a snapshot it to be honest. So revert to an older version of R and then see if you can install all your packages and get it to run. It should be possible.

Which version of R are you using?

The package is still installed locally, so I can run my code without problems. The issue is that the R/Shiny app will not deploy - (seemingly) because it tries to install the required packages and fails because these 2 are no longer available on CRAN.

You failed to provide me with the right info. When it is building your image it needs to know from which point in time and from which build to do so. You should be able to adjust the snapshot of CRAN.

I need to know which versions of packages and which version of R you're using.

R 4.0.2
shiny.semantic v 0.4.3
semantic.dashboard v. 0.2.0

Deploy worked as of 2 days ago (before these 2 package were removed from CRAN). How can I use snapshot to point to the CRAN checkpoint from 2 days ago?

I have changed my version of R and gotten a dummy example going with shiny.sematic I am publishing it to shinyapps.io now. I'll let you know if it is successful and then I can share the steps with you.

Okay, this was the easiest way for me to get this working ASAP.

This is the dummy app:

library(shiny)
library(shiny.semantic)
ui <- semanticPage(
  title = "My page",
  div(class = "ui button", icon("user"),  "Icon button")
)
server <- function(input, output) {}
shinyApp(ui, server)
#> 
#> Listening on http://127.0.0.1:3841

Created on 2021-11-03 by the reprex package (v2.0.0)

You can see it is live here: https://docgrey.shinyapps.io/shiny_sematic_publish/

I went to MRAN and installed Microsoft R from 4.0.2 which meant I was working from:

R version 4.0.2 (2020-06-22) -- "Taking Off Again"

So on Tools I changed my version of R to the above. I installed your shiny.semantic. I created the app and published it.

My version of shiny.sematic was older than yours 0.3.0. I primarily wanted to test if I can force shinyapps.io to make use of a much older time stamp and it works.

This link is helpful to see which packages were available on CRAN in which version etc here: https://mran.microsoft.com/timemachine

You can also use the checkpoint package to change your checkpoint to a specific day to avoid these problems as you've now experienced. See here: https://mran.microsoft.com/documents/rro/reproducibility#checkpointpkg

Checkpoint is also available on normal cran: CRAN - Package checkpoint

Some use renv as well to get past these problems: Introduction to renv • renv

Just let us know if this worked :slight_smile:

I've been tinkering around with this. For me, the checkpoint method did not work. It ran successfully, but did not seem to install either package as a previous version correctly.

You were right about the first step needed was to uninstall the packages.

After I did that, I took this strategy:

  1. Find the latest version of each culprit package, even though they were removed from CRAN. I did this by checking the respective CRAN archive link.

Install the most recent package versions but via Github instead of CRAN:

     remotes::install_github("Appsilon/shiny.semantic", ref = "0.4.2")
     remotes::install_github("Appsilon/semantic.dashboard", ref = "0.2.0")

Now the app deploys!

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.

If you have a query related to it or one of the replies, start a new topic and refer back with a link.