Fout in contrib.url(repos, “source”) in R die CRAN probeert te gebruiken zonder een mirror in te stellen Oproepen: install.packages -> contrib.url Uitvoering gestopt

Ik heb een R-code die perfect wordt uitgevoerd in RStudio, maar als ik deze in cmd uitvoer, krijg ik de onderstaande foutmelding .

Installing package into 'C:/Users/Anish/Documents/R/win-library/3.5'
(as 'lib' is unspecified)
Error in contrib.url(repos, "source") :
  trying to use CRAN without setting a mirror
Calls: install.packages -> contrib.url
Execution halted

Ik neem mijn pakket op in mijn code als install.packages("plyr"). Ik heb ook geprobeerd om repo’s en broncode te gebruiken in de functie install.package.


Antwoord 1, autoriteit 100%

Gebruik

install.packages('plyr', repos = "http://cran.us.r-project.org")

Antwoord 2

De reden is hoogstwaarschijnlijk omdat RStudio R zo configureert dat het weet hoe het moet controleren op systeempakketten en waar het moet worden gedownload als ze niet lokaal beschikbaar zijn, terwijl vanaf de opdrachtregel je R die configuratie waarschijnlijk mist. Controleer met R.home(component = "home")vanaf de opdrachtregel. Zoek in de geretourneerde map naar een bestand zoals Rprofile. In mijn systeem werd de regel becommentarieerd (zicht):

$ grep -i "options(repos" /usr/lib64/R/library/base/R/Rprofile
# options(repos = c(CRAN="@[email protected]"))

Ik ondervond dezelfde fout bij het opnieuw uitvoeren van een R-markdowndocument op een andere computer dan de computer waarop ik het oorspronkelijk had geschreven. Om het te repareren heb ik expliciet de reposoptie in de eerste R chuck van het document gezet en toen begon knitrte werken in plaats van vast te lopen in deze fout. De fout betekent dat uw R-sessie probeert een pakket te installeren met behulp van de contrib.urlpakket, maar de R-taalopties vertellen het niet waar het pakketten vandaan moet halen.

Hier is de regel die ik heb geïntroduceerd in de eerste R-brok van het Rmd-document. Ik kreeg het idee van https://github.com/eddelbuettel/littler/issues /23.

options(repos = list(CRAN="http://cran.rstudio.com/"))

Dit zou je hoe dan ook een beter gedrag geven vanaf de opdrachtregel dan vanuit de RStudio-omgeving in termen van pakketdownloads.

Ik raad aan om de optie bovenaan het script dat je uitvoert in te stellen. Het beste is natuurlijk om de R-taal naar uw verwachtingen te configureren en die configuratie te delen met uw doelgroepgebruikers via het R.profile-bestand, lees hoe je R aanpast.

Other episodes