Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för: SQL Server 2016 (13.x) och senare versioner
Azure SQL Managed Instance
Den här artikeln beskriver hur du installerar R-paket offline med hjälp av miniCRAN för att skapa en lokal lagringsplats med paket och beroenden. miniCRAN identifierar och laddar ned paket och beroenden till en enda mapp som du kopierar till andra datorer för installation av R-paket offline.
Du kan ange ett eller flera paket och miniCRAN läser rekursivt beroendeträdet för dessa paket. Sedan laddas endast de listade paketen och deras beroenden ned från CRAN eller liknande lagringsplatser.
När det är klart skapar miniCRAN en internt konsekvent lagringsplats som består av de valda paketen och alla nödvändiga beroenden. Du kan flytta den här lokala lagringsplatsen till servern och fortsätta att installera paketen utan internetanslutning.
Erfarna R-användare letar ofta efter listan över beroende paket i BESKRIVNING-filen för ett nedladdat paket. Paket som anges i Imports kan dock ha beroenden på andra nivån. Därför rekommenderar vi miniCRAN för att montera den fullständiga samlingen av nödvändiga paket.
Varför skapa en lokal lagringsplats
Målet med att skapa en lokal paketlagringsplats är att tillhandahålla en enda plats som en serveradministratör eller andra användare i organisationen kan använda för att installera nya R-paket på en server, särskilt en som inte har internetåtkomst. När du har skapat lagringsplatsen kan du ändra den genom att lägga till nya paket eller uppgradera versionen av befintliga paket.
Paketlagringsplatser är användbara i följande scenarier:
Säkerhet: Många R-användare är vana vid att ladda ned och installera nya R-paket efter be vilja, från CRAN eller någon av dess speglingsplatser. Av säkerhetsskäl har dock produktionsservrar som kör SQL Server vanligtvis inte internetanslutning.
Enklare offlineinstallation: Om du vill installera ett paket på en offlineserver måste du även ladda ned alla paketberoenden. Med hjälp av miniCRAN blir det enklare att få alla beroenden i rätt format och undvika beroendefel.
Förbättrad versionshantering: I en miljö med flera användare finns det goda skäl att undvika obegränsad installation av flera paketversioner på servern. Använd en lokal lagringsplats för att tillhandahålla en konsekvent uppsättning paket för dina användare.
Installera miniCRAN
Själva miniCRAN-paketet är beroende av 18 andra CRAN-paket, bland annat RCurl-paketet , som har ett systemberoende av curl-devel-paketet . På samma sätt har paketet XML beroende av libxml2-devel. För att lösa beroenden rekommenderar vi att du först skapar din lokala lagringsplats på en dator med fullständig internetåtkomst.
Kör följande kommandon på en dator med bas-R, R-verktyg och internetanslutning. Det förutsätts att detta inte är din SQL Server-dator. Följande kommandon installerar miniCRAN-paketet och igraph-paketet . I det här exemplet kontrolleras om paketet redan är installerat, men du kan kringgå if instruktionerna och installera paketen direkt.
if(!require("miniCRAN")) install.packages("miniCRAN")
if(!require("igraph")) install.packages("igraph")
library("miniCRAN")
Ange CRAN-speglingen och MRAN-ögonblicksbilden
Ange en speglingswebbplats som ska användas för att hämta paket. Du kan till exempel använda MRAN-webbplatsen eller någon annan plats i din region som innehåller de paket du behöver. Om en nedladdning misslyckas kan du prova en annan speglingswebbplats.
CRAN_mirror <- c(CRAN = "https://mirrors.nics.utk.edu/cran/")
Skapa en lokal mapp
Skapa en lokal mapp där de insamlade paketen ska lagras. Om du upprepar detta ofta kanske du vill använda ett beskrivande namn, till exempel "miniCRANZooPackages" eller "miniCRANMyRPackageV2".
Ange mappen som den lokala lagringsplatsen. R-syntaxen använder ett snedstreck för sökvägsnamn, vilket är motsatt från Windows-konventioner.
local_repo <- "C:/miniCRANZooPackages"
Lägga till paket på den lokala lagringsplatsen
När miniCRAN har installerats och lästs in skapar du en lista som anger de ytterligare paket som du vill ladda ned.
Lägg inte till beroenden i den här inledande listan. Igraph-paketet som används av miniCRAN genererar listan över beroenden automatiskt. Mer information om hur du använder det genererade beroendediagrammet finns i Använda miniCRAN för att identifiera paketberoenden.
Lägg till målpaketen "zoo" och "forecast" i en variabel.
pkgs_needed <- c("zoo", "forecast")Du kan också rita beroendediagrammet. Detta är inte nödvändigt, men det kan vara informativt.
plot(makeDepGraph(pkgs_needed))Skapa den lokala lagringsplatsen. Se till att ändra R-versionen till den version som är installerad på SQL Server-instansen om det behövs. Om du har uppgraderat en komponent kan din version vara nyare än den ursprungliga versionen. Mer information finns i Hämta R-paketinformation.
pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.3");Från den här informationen skapar miniCRAN-paketet den mappstruktur som du behöver för att kopiera paketen till SQL Server senare.
Nu bör du ha en mapp som innehåller de paket du behöver och eventuella ytterligare paket som krävs. Mappen ska innehålla en samling zippade paket. Packa inte upp paketen eller byt namn på några filer.
Du kan också köra följande kod för att visa paketen i den lokala miniCRAN-lagringsplatsen.
pdb <- as.data.frame(pkgAvail(local_repo, type = "win.binary", Rversion = "3.3"), stringsAsFactors = FALSE);
head(pdb);
pdb$Package;
pdb[, c("Package", "Version", "License")]
Lägga till paket i instansbiblioteket
När du har en lokal lagringsplats med de paket du behöver flyttar du paketlagringsplatsen till SQL Server-datorn. Följande procedur beskriver hur du installerar paketen med R-verktyg.
Anmärkning
Den rekommenderade metoden för att installera paket är att använda sqlmlutils. Se Installera nya R-paket med sqlmlutils.
Kopiera mappen som innehåller miniCRAN-lagringsplatsen i sin helhet till den server där du planerar att installera paketen. Mappen har vanligtvis den här strukturen:
<miniCRAN root>/bin/windows/contrib/version/<all packages>I den här proceduren förutsätter vi en mapp vid rotdisken.
Öppna ett R-verktyg som är associerat med instansen (du kan till exempel använda Rgui.exe). Högerklicka och välj Kör som administratör för att tillåta att verktyget uppdaterar systemet.
- Standardfilens plats för RGUI är
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64till exempel .
- Filplatsen för RGUI är
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64till exempel .
- Filplatsen för RGUI är
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\bin\x64till exempel .
- Standardfilens plats för RGUI är
Hämta sökvägen för instansbiblioteket och lägg till den i listan över bibliotekssökvägar.
Ett exempel:
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL13.MSSQLSERVER/R_SERVICES/library"Ett exempel:
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL14.MSSQLSERVER/R_SERVICES/library"Ett exempel:
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/R_SERVICES/library"Ange den nya platsen på servern där du kopierade miniCRAN-lagringsplatsen som
server_repo.I det här exemplet förutsätter vi att du kopierade lagringsplatsen till en tillfällig mapp på servern.
inputlib <- "C:/miniCRANZooPackages"Eftersom du arbetar i en ny R-arbetsyta på servern måste du även tillhandahålla listan över paket som ska installeras.
mypackages <- c("zoo", "forecast")Installera paketen och ange sökvägen till den lokala kopian av miniCRAN-lagringsplatsen.
install.packages(mypackages, repos = file.path("file://", normalizePath(inputlib, winslash = "/")), lib = outputlib, type = "win.binary", dependencies = TRUE);Från instansbiblioteket kan du visa de installerade paketen med ett kommando som liknar följande:
installed.packages()