Instale R no meu próprio diretório

34

Como posso instalar uma nova versão do R no meu próprio diretório, por exemplo /local/data/project/behi,.

user3925736
fonte
1
Você pode fazer isso iniciando na fonte; mas se você precisar perguntar, acho que não está disposto a fazê-lo. Diga-nos qual sistema você está executando e por que você está interessado em uma nova versão.
vonbrand
A instalação específica da versão usando o código-fonte é muito diferente da instalação usando o YUM ou APT. Depende da versão do sistema operacional e do número de dependências que precisam ser atendidas para que a instalação seja concluída com êxito. Documentei a instalação do R 3.3.3 no SLES11 SP3 em hashprompt.blogspot.com/2017/06/… Espero que ele possa ajudá-lo a instalar em sistemas Linux.
Baban Gaigole

Respostas:

43

A maneira mais fácil de fazer isso é instalar o R ​​a partir da fonte :

$ wget http://cran.rstudio.com/src/base/R-3/R-3.4.1.tar.gz
$ tar xvf R-3.4.1.tar.gz
$ cd R-3.4.1
$ ./configure --prefix=$HOME/R
$ make && make install

O penúltimo passo é o crítico. Ele configura o R para ser instalado em um subdiretório do seu próprio diretório inicial.

Para executá-lo no Linux, macOS e sistemas similares, adicione $HOME/R/binao seu PATH. Em seguida, os comandos do shell gostam Re Rscriptirão funcionar.

No macOS, você tem outra alternativa: crieR.app e instale-o na Applicationspasta privada do usuário . Você precisa ter o Xcode instalado para fazer isso.

Você pode considerar doar --prefix=$HOME. Isso instala o R no nível superior do diretório inicial, para que os binários Re Rscriptterminem $HOME/bin, o que provavelmente já está no seu usuário PATH. A desvantagem é que dificulta a desinstalação posterior, pois o R seria misturado com outros $HOMEconteúdos.

(Se esta é a primeira coisa em que você instalou $HOME/bin, pode ser necessário fazer logout e logon novamente para obter isso PATH, uma vez que geralmente é adicionado condicionalmente apenas se $HOME/binexistir no momento do login.)

Esse padrão geral se aplica a uma grande quantidade de software Unix que você pode instalar a partir do código fonte. Se o software tiver um configurescript, ele provavelmente entenderá a --prefixopção e, caso contrário, geralmente haverá alguma alternativa com o mesmo efeito.

Esses recursos são comuns por vários motivos. Em ordem decrescente de probabilidade, na minha experiência:

  • O padrão seguro ( /usr/local) não é o correto $prefixem todas as situações. Circunstâncias podem ditar outra coisa, como /usr, /opt/$PKGNAME, etc.

  • Os sistemas binários de criação de pacotes ( RPM , DEB , PKG , Cygport ...) geralmente compilam e instalam o pacote em um diretório de armazenamento temporário especial e, em seguida, empacotam-no de tal maneira que ele se expanda no local de instalação desejado.

  • No seu caso, onde você não pode rootinstalar o software em um local típico, instale-o $HOME.

Warren Young
fonte
1
Eu recomendaria ./configure --prefix=$HOME/R --enable-R-shlibter certeza de compilar a biblioteca compartilhada do R. Caso contrário, o RStudio irá reclamar.
akhmed
Não me funcionou. O script terminou comconfigure: error: --with-readline=yes (default) and headers/libs are not available make: *** No targets specified and no makefile found. Stop.
ApproachingDarknessFish
@ ApproachingDarknessFish: Isso não tem nada a ver com esta pergunta ou com a minha resposta. Faltam os pré-requisitos necessários para construir o R ​​no seu sistema com as opções escolhidas. Especificamente aqui, você está perdendo as bibliotecas de desenvolvimento do readline. Se você tiver mais problemas, poste uma nova pergunta.
Warren Young
8

Você também pode usar o aplicativo wrapper Renv .

excerto

Gerenciamento simples de versão R: Renv

O Renv permite alternar facilmente entre várias versões do R. É simples, discreto e segue a tradição do UNIX de ferramentas de uso único que fazem uma coisa bem.

Renv faz…

  • Permite alterar a versão R global por usuário.
  • Forneça suporte para versões R por projeto.
  • Permite substituir a versão R por uma variável de ambiente.
slm
fonte
1

Crie a partir da fonte com ./configure --prefix=/local/data/project/behi ; make ; make install

Se você estiver instalando a partir de um pacote RPM e ele foi criado realocável, você pode usar

rpm ... --prefix /local/data/project/behi

Mas nem todos os pacotes são construídos com binários relocáveis, e eu não acho que os pacotes debian tenham essa opção (embora você possa ter sucesso dpkg --instdir).

Dani_l
fonte