Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a: SQL Server 2016 (13.x) e versões
posteriores Instância Gerenciada SQL do Azure
Este artigo descreve como instalar pacotes R offline usando miniCRAN para criar um repositório local de pacotes e dependências. miniCRAN identifica e baixa pacotes e dependências em uma única pasta que você copia para outros computadores para instalação de pacotes R offline.
Você pode especificar um ou mais pacotes e o miniCRAN lê recursivamente a árvore de dependência desses pacotes. Em seguida, ele baixa apenas os pacotes listados e suas dependências da CRAN ou repositórios semelhantes.
Quando isso é feito, o miniCRAN cria um repositório internamente consistente que consiste nos pacotes selecionados e em todas as dependências necessárias. Você pode mover esse repositório local para o servidor e continuar a instalar os pacotes sem uma conexão com a Internet.
Usuários experientes do R geralmente procuram a lista de pacotes dependentes no arquivo DESCRIPTION de um pacote baixado. No entanto, os pacotes listados em Importações podem ter dependências de segundo nível. Por esta razão, recomendamos miniCRAN para montar a coleção completa de pacotes necessários.
Por que criar um repositório local
O objetivo da criação de um repositório de pacotes local é fornecer um único local que um administrador de servidor ou outros usuários na organização possam usar para instalar novos pacotes R em um servidor, especialmente um que não tenha acesso à Internet. Depois de criar o repositório, você pode modificá-lo adicionando novos pacotes ou atualizando a versão dos pacotes existentes.
Os repositórios de pacotes são úteis nestes cenários:
Segurança: Muitos usuários do R estão acostumados a baixar e instalar novos pacotes R à vontade, a partir do CRAN ou de um de seus sites espelho. No entanto, por motivos de segurança, os servidores de produção que executam o SQL Server normalmente não têm conectividade com a Internet.
Instalação offline mais fácil: para instalar um pacote em um servidor offline, é necessário que você também baixe todas as dependências do pacote. O uso do miniCRAN facilita a obtenção de todas as dependências no formato correto e evita erros de dependência.
Gerenciamento de versão aprimorado: em um ambiente multiusuário, há boas razões para evitar a instalação irrestrita de várias versões de pacotes no servidor. Use um repositório local para fornecer um conjunto consistente de pacotes para seus usuários.
Instalar miniCRAN
O pacote miniCRAN em si depende de outros 18 pacotes CRAN, entre os quais está o pacote RCurl , que tem uma dependência do sistema no pacote curl-devel . O pacote XML tem uma dependência de libxml2-devel. Para resolver dependências, recomendamos que você crie seu repositório local inicialmente em uma máquina com acesso total à Internet.
Execute os seguintes comandos num computador com uma instalação base de R, ferramentas R, e conexão à Internet. Presume-se que este não seja o seu computador SQL Server. Os comandos a seguir instalam o pacote miniCRAN e o pacote igraph . Este exemplo verifica se o pacote já está instalado, mas você pode ignorar as if instruções e instalar os pacotes diretamente.
if(!require("miniCRAN")) install.packages("miniCRAN")
if(!require("igraph")) install.packages("igraph")
library("miniCRAN")
Definir o espelho CRAN e o instantâneo MRAN
Especifique um site espelho para usar na obtenção de pacotes. Por exemplo, você pode usar o site de MRAN ou qualquer outro site em sua região que contenha os pacotes necessários. Se um download falhar, tente outro site espelho.
CRAN_mirror <- c(CRAN = "https://mirrors.nics.utk.edu/cran/")
Criar uma pasta local
Crie uma pasta local na qual armazenar os pacotes coletados. Se você repetir isso com frequência, convém usar um nome descritivo, como "miniCRANZooPackages" ou "miniCRANMyRPackageV2".
Especifique a pasta como o repositório local. A sintaxe R usa uma barra inclinada para frente para nomes de caminho, o que é diferente das convenções do Windows.
local_repo <- "C:/miniCRANZooPackages"
Adicionar pacotes ao repositório local
Depois que o miniCRAN for instalado e carregado, crie uma lista que especifique os pacotes adicionais que você deseja baixar.
Não adicione dependências a esta lista inicial. O pacote igraph usado pelo miniCRAN gera a lista de dependências automaticamente. Para obter mais informações sobre como usar o gráfico de dependência gerado, consulte Usando miniCRAN para identificar dependências de pacote.
Adicione pacotes de destino "zoo" e "forecast" a uma variável.
pkgs_needed <- c("zoo", "forecast")Opcionalmente, plote o gráfico de dependência. Isso não é necessário, mas pode ser informativo.
plot(makeDepGraph(pkgs_needed))Crie o repositório local. Certifique-se de alterar a versão R, se necessário, para a versão instalada em sua instância do SQL Server. Se você fez uma atualização de componente, sua versão pode ser mais recente do que a versão original. Para obter mais informações, consulte Obter informações sobre o pacote R.
pkgs_expanded <- pkgDep(pkgs_needed, repos = CRAN_mirror); makeRepo(pkgs_expanded, path = local_repo, repos = CRAN_mirror, type = "win.binary", Rversion = "3.3");A partir dessas informações, o pacote miniCRAN cria a estrutura de pastas que você precisa copiar os pacotes para o SQL Server posteriormente.
Neste ponto, você deve ter uma pasta contendo os pacotes que você precisa e quaisquer pacotes adicionais que são necessários. A pasta deve conter uma coleção de pacotes compactados. Não descompacte os pacotes nem renomeie nenhum arquivo.
Opcionalmente, execute o código a seguir para listar os pacotes contidos no repositório miniCRAN local.
pdb <- as.data.frame(pkgAvail(local_repo, type = "win.binary", Rversion = "3.3"), stringsAsFactors = FALSE);
head(pdb);
pdb$Package;
pdb[, c("Package", "Version", "License")]
Adicionar pacotes à biblioteca de instâncias
Depois de ter um repositório local com os pacotes necessários, mova o repositório de pacotes para o computador do SQL Server. O procedimento a seguir descreve como instalar os pacotes usando ferramentas R.
Observação
O método recomendado para instalar pacotes é usar sqlmlutils. Consulte Instalar novos pacotes R com sqlmlutils.
Copie a pasta que contém o repositório miniRAN, em sua totalidade, para o servidor onde você planeja instalar os pacotes. A pasta normalmente tem esta estrutura:
<miniCRAN root>/bin/windows/contrib/version/<all packages>Neste procedimento, assumimos uma pasta fora da unidade raiz.
Abra uma ferramenta R associada à instância (por exemplo, você pode usar Rgui.exe). Clique com o botão direito do mouse e selecione Executar como administrador para permitir que a ferramenta faça atualizações no seu sistema.
- Por exemplo, o local do arquivo padrão para RGUI é
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\R_SERVICES\bin\x64.
- Por exemplo, o local do arquivo para RGUI é
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\R_SERVICES\bin\x64.
- Por exemplo, o local do arquivo para RGUI é
C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\R_SERVICES\bin\x64.
- Por exemplo, o local do arquivo padrão para RGUI é
Obtenha o percurso da biblioteca de instâncias e adicione-o à lista de percursos da biblioteca.
Por exemplo
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL13.MSSQLSERVER/R_SERVICES/library"Por exemplo
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL14.MSSQLSERVER/R_SERVICES/library"Por exemplo
outputlib <- "C:/Program Files/Microsoft SQL Server/MSSQL15.MSSQLSERVER/R_SERVICES/library"Especifique o novo local no servidor onde você copiou o repositório miniCRAN como
server_repo.Neste exemplo, assumimos que você copiou o repositório para uma pasta temporária no servidor.
inputlib <- "C:/miniCRANZooPackages"Como você está trabalhando em um novo espaço de trabalho R no servidor, você também deve fornecer a lista de pacotes a serem instalados.
mypackages <- c("zoo", "forecast")Instale os pacotes, fornecendo o caminho para a cópia local do repositório miniRAN.
install.packages(mypackages, repos = file.path("file://", normalizePath(inputlib, winslash = "/")), lib = outputlib, type = "win.binary", dependencies = TRUE);Na biblioteca de instâncias, você pode exibir os pacotes instalados usando um comando como o seguinte:
installed.packages()