# Encontrar bibliotecas
.libPaths() # Os caminhos de sua biblioteca, listados para que o R instale/selecione..
# Nota: todas as bibliotecas serão listadas, mas para instalar em algumas
# (por exemplo, C:) você pode precisar executar o RStudio como administrador
# (não aparecerá no menu suspenso de install.packages)
49 R em drives (pastas) na rede
49.1 Visão geral
O uso do R em rede ou em pastas compartilhadas de uma instituição pode apresentar desafios adicionais. Esta página contém abordagens, erros comuns e sugestões sobre a solução de problemas obtidos a partir da nossa experiência de trabalho com estas questões. Isto inclui dicas para as situações particularmente delicadas envolvendo o R Markdown.
Usando R em drives na rede: Princípios gerais
- Você deve obter acesso de administrador para seu computador. Configure o RStudio especificamente para ser executado como administrador.
- Salve os pacotes em uma biblioteca (drive, pasta) com letras sempre que possível (por exemplo, “C:”). Evite usar uma biblioteca de pacotes cujo caminho comece com “\”.
- O pacote rmarkdown não deve estar em uma biblioteca de pacotes “\”, pois assim não poderá se conectar ao TinyTex ou ao Pandoc.
49.2 RStudio como administrador
Para abrir o RStudio, clique no ícone com o botão direito do mouse. Dependendo de sua máquina, você verá uma opção para “Run as Administrator” (Executar como administrador). Caso contrário, você verá uma opção para selecionar as Properties (Propriedades), e então deverá aparecer uma janela com a opção “Compatibility” (Compatibilidade), e você poderá selecionar uma caixa de seleção “Run as Administrator” (Executar como Administrador).
49.3 Comandos úteis
Abaixo estão alguns comandos úteis ao tentar solucionar problemas usando R em drives de rede.
Você pode retornar o(s) caminho(s) para as bibliotecas de pacotes que o R está usando. Eles serão listados na ordem em que R estiver usando para instalar/carregar/buscar por pacotes. Assim, se você quiser que R use uma biblioteca padrão diferente, você pode mudar a ordem destes caminhos (veja abaixo).
Você pode querer mudar a ordem das bibliotecas de pacotes usadas pelo R. Por exemplo, se o R estiver pegando um local de biblioteca que começa com “\” e um que começa com uma letra, por exemplo, “D:”. Você pode ajustar a ordem de .libPaths()
com o seguinte código.
# Troca a ordem das bibliotecas
# Isto pode afetar a prioridade do R encontrar um pacote. Por exemplo, você pode querer que sua biblioteca C: seja listada primeiro
<- .libPaths() # obter os caminhos
myPaths <- c(myPaths[2], myPaths[1]) # trocar os caminhos
myPaths .libPaths(myPaths) # realocar os caminhos
Se você estiver com dificuldades no para conectar o R Markdown ao Pandoc, comece com este código para descobrir onde RStudio entende que está sua instalação Pandoc.
#Encontrar o Pandoc
Sys.getenv("RSTUDIO_PANDOC") # Descubra onde o RStudio entende que está sua instalação Pandoc
Se você quiser ver de qual biblioteca um pacote está sendo carregado, tente o código abaixo:
# Encontrar um pacote
# Indica a primeira localização do pacote (Note a ordem de suas bibliotecas)
find.package("rmarkdown", lib.loc = NULL, quiet = FALSE, verbose = getOption("verbose"))
49.4 Resolução de problemas e erros comuns
“Failed to compile…tex in rmarkdown”
- Verifique a instalação de TinyTex, ou instale TinyTex em C:. Veja na página Introdução ao R sobre como instalar o TinyTex.
# Verificar/instalar tinytex em C:
::install_tinytex()
tinytex:::is_tinytex() # deve retornar TRUE (VERDADEIRO) tinytex
As rotinas da Internet não podem ser carregadas
Por exemplo, Error in tools::startDynamicHelp() : internet routines cannot be loaded
Tente selecionar a versão de 32 bits do RStudio em Tools/Global Options (Ferramentas/Opções Globais).
- nota: se a versão de 32 bits não aparecer no menu, certifique-se de não estar usando o RStudio v1.2
Alternativamente, tente desinstalar R e reinstalar com versão de bit diferente (32 em vez de 64).
C: o pacote não aparece como opção quando tento instalar pacotes manualmente
- Execute o RStudio como administrador que esta opção vai aparecer
- Para executar o RStudio sempre como administrador, clique com o botão direito do mouse no ícone do Rstudio (opção vantajosa ao usar um projeto R, em que você não clica no ícone do RStudio para abrir).
A imagem abaixo mostra como você pode selecionar manualmente a biblioteca para a instalação de um pacote. Esta janela aparece quando você abre o painel Packages (Pacotes) no RStudio e clica em “Install” (Instalar).
Erro Pandoc 1
Se você estiver recebendo “pandoc error 1” ao criar scripts R Markdowns em drives de rede:
- Dentre as muitas bibliotecas, tenha uma com letras listadas primeiro (ver códigos acima)
- A solução acima funcionou ao programar em uma unidade local, mas em uma conexão de Internet em rede
- Veja mais dicas aqui: https://ciser.cornell.edu/rmarkdown-knit-to-html-word-pdf/
Erro Pandoc 83
O erro será algo parecido com: can't find file...rmarkdown...lua...
. Isto significa que não foi possível encontrar este arquivo.
Possibilidades:
- O pacote Rmarkdown não está instalado
- O pacote Rmarkdown não pode ser encontrado
- Uma questão de direitos do administrador.
É possível que o R não seja capaz de encontrar o arquivo do pacote rmarkdown, portanto verifique qual biblioteca (pasta) o pacote rmarkdown se encontra (veja o código acima). Se o pacote foi instalado em uma biblioteca inacessível (por exemplo, que comece com “\”), considere movê-lo manualmente para C: ou outra biblioteca que comece com uma letra. Esteja ciente de que o pacote rmarkdown tem que ser capaz de se conectar à instalação do TinyTex, portanto não pode estar em uma biblioteca em uma unidade de rede.
Erro Pandoc 61
Por exemplo: Error: pandoc document conversion failed with error 61
ou Could not fetch...
- Tente executar o RStudio como administrador (clique com o botão direito do mouse, selecione executar como administrador, veja as instruções acima)
- Veja também se o pacote específico que não pôde ser carregado pode ser movido para biblioteca C:.
LaTex error (ver abaixo)
Um erro como: ! Package pdftex.def Error: File 'cict_qm2_2020-06-29_files/figure-latex/unnamed-chunk-5-1.png' not found: using draft setting.
ou Error: LaTeX failed to compile file_name.tex.
- Veja https://yihui.org/tinytex/r/#debugging para dicas de correção.
- Veja file_name.log para mais informações.
Erro Pandoc 127
Isto pode ser uma questão de RAM (espaço). Reinicie novamente sua sessão R e tente novamente.
Mapeamento de drives na rede
Mapear uma unidade de rede pode ser arriscado. Consulte seu departamento de TI antes de tentar fazer isso.
Uma dica emprestada deste fórum de discussão:
Como se abre um arquivo “através de uma unidade de rede mapeada”?
- Primeiro, você precisará saber a localização da rede à qual está tentando acessar.
- Em seguida, no gerenciador de arquivos do Windows, você precisará clicar com o botão direito do mouse em “Este Computador” no painel à esquerda (ou direita, dependendo da sua configuração), e selecionar “Mapear uma unidade de rede”.
- Passe pelo diálogo para definir a localização da rede desde o início como um drive com letras de forma.
- Agora você tem duas maneiras de chegar ao arquivo que você está abrindo. O uso do caminho com letras deve funcionar.
Erro em install.packages()
Se você receber um erro que inclua a menção de um diretório “lock”, por exemplo: Error in install.packages : ERROR: failed to lock directory...
Procure em sua biblioteca de pacotes e verá uma pasta cujo nome começa com “00LOCK”. Tente as seguintes dicas:
- Apague manualmente o diretório da pasta “00LOCK” de sua biblioteca de pacotes. Tente instalar o pacote de novo.
- Você também pode tentar o comando
pacman::p_unlock()
(você também pode colocar este comando no Rprofile para que ele seja executado toda vez que o projeto abrir). Tente então instalar o pacote novamente. Pode ser necessário várias tentativas.
- Tente executar o RStudio no modo administrador, e tente instalar os pacotes um a um.
- e tudo isso falhar, instale o pacote em outra biblioteca ou pasta (por exemplo, Temp) e depois copie manualmente a pasta do pacote para a biblioteca desejada.