Jak zainstalować pakiet R ze źródła?


Odpowiedzi:


486

Jeśli masz plik lokalnie, użyj install.packages()i ustaw repos=NULL:

install.packages(path_to_file, repos = NULL, type="source")

Gdzie path_to_filereprezentuje pełną ścieżkę i nazwę pliku:

  • W systemie Windows będzie to wyglądać mniej więcej tak: "C:\\RJSONIO_0.2-3.tar.gz".
  • W systemie UNIX będzie wyglądać następująco: "/home/blah/RJSONIO_0.2-3.tar.gz".

2
Działa to również, jeśli file_name_and_pathjest to lokalne repozytorium źródłowe pakietu R.
— Faheem Mitha

1
Uwaga: tej INSTALL_optsopcji można użyć do przekazania opcji do R CMD INSTALL. Na przykład „--no-multiarch”
— Andy Barbour

2
install.packages ("/ tmp / shiny_0.13.1.tar.gz", repos = NULL, type = "source") otrzymuję ten błąd: -ksh: błąd składniowy: `('nieoczekiwany
— iaav

3
Jak zauważył @Cerin, musisz zadbać o rozszerzenie. Miałem błąd „(ponieważ„ lib ”jest nieokreślony)” z R z archiwami .zip. Wszystko działa dobrze po zmianie rozszerzenia na .tar.
— Mohamed Hasan

2
Warto to zauważyć, ponieważ repos = NULLtakie podejście nie spowoduje zainstalowania zależności np. z CRAN. ta odpowiedź sugeruje, devtools::install_local(path_to_file)która dla mnie jest prostsza (mniej argumentów do dostarczenia) i lepsza (instaluje również zależności).
— Mac

97

Pobierz pakiet źródłowy, otwórz Terminal.app, przejdź do katalogu, w którym aktualnie masz plik, a następnie uruchom:

R CMD INSTALL RJSONIO_0.2-3.tar.gz

Zauważ, że to się powiedzie tylko wtedy, gdy: a) pakiet nie wymaga kompilacji lub b) obecne są potrzebne narzędzia systemowe do kompilacji. Zobacz: https://cran.r-project.org/bin/macosx/tools/


3
Próbowałem tego i otrzymałem błąd: Madjoro-MacBook-Pro: ~ Madjoro $ R CMD ZAINSTALUJ RJSONIO_0.2-3.tar.gz Ostrzeżenie: niepoprawny pakiet „RJSONIO_0.2-3.tar.gz” Błąd: BŁĄD: brak pakietów określone

1
Musisz podać poprawną ścieżkę do pliku .tar.gz i wymagane są narzędzia XCode ( developer.apple.com/TOOLS/Xcode ).
— rcs

1
Czy istnieje sposób na zbudowanie binarnego pliku .zip ze źródła?
— haridsv

5
Znalazłem rozwiązanie, musisz użyć opcji --binary.
— haridsv

Ile razy tu przychodzisz, ponieważ wpisałeś install zamiast INSTALL?
— Brandon Bertelsen

50

Możesz zainstalować bezpośrednio z repozytorium (zwróć uwagę na type="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

3
Próbowałem tego i otrzymałem błąd: * Instalowanie pakietu źródłowego „RJSONIO” ... ** libs ** arch - i386 sh: make: polecenie nie znaleziono BŁĄD: kompilacja nie powiodła się dla pakietu „RJSONIO” RMate zatrzymał się w linii 3 * Usuwanie ” /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'Pobrane pakiety znajdują się w' / private / var / folder / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / download_packages 'Aktualizacja HTML indeks pakietów w „.Library” Komunikat ostrzegawczy: W install.packages („RJSONIO”, repos = „ omegahat.org/R ” ,: instalacja pakietu „RJSONIO” miała niezerowy status wyjścia

6
Czy masz zainstalowane narzędzia programistyczne? Pochodzą one z płyty DVD z systemem Mac OS X. Ponieważ ten pakiet ma kod C, będziesz potrzebować kompilatora, aby zainstalować go ze źródła.
— Eduardo Leoni

1
Podejrzewam, że nie mam zainstalowanych narzędzi programistycznych. Przynajmniej nie pamiętam ich instalacji. Dzięki!

4
Jeśli robisz to w systemie Windows, możesz uzyskać narzędzia dla programistów z murdoch-sutherland.com/Rtools ... upewnij się, że podczas instalacji zaznacz pole wyboru, aby zaktualizować swoją ścieżkę (może być trochę trudne do odczytania ... , właśnie zaznaczyłem niezaznaczone pole, które się pojawi)
— Dan Goldstein,

27

Dodatkowa poręczna (ale trywialna) wskazówka do instalowania starszej wersji pakietów ze źródła.

Po pierwsze, jeśli wywołasz „install.packages”, zawsze instaluje najnowszy pakiet z repo. Jeśli chcesz zainstalować starszą wersję pakietów, powiedzmy dla kompatybilności, możesz wywołać install.packages („url_to_source”, repo = NULL, type = „source”). Na przykład:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

Bez ręcznego pobierania pakietów na dysk lokalny i przełączania się do wiersza poleceń lub instalowania z dysku lokalnego uznałem, że jest to bardzo wygodne i upraszcza połączenie (jednoetapowo).

Plus: możesz użyć tej sztuczki z trybem dev_mode biblioteki devtools, aby zarządzać różnymi wersjami pakietów:

Odniesienie: doc devtools


9

Z Cran można zainstalować bezpośrednio z adresu repozytorium github. Więc jeśli chcesz pakiet w https://github.com/twitter/AnomalyDetection:

library(devtools)
install_github("twitter/AnomalyDetection")

Zrób sztuczkę.


8

Ponadto można zbudować pakiet binarny za pomocą opcji --binary.

R CMD build --binary RJSONIO_0.2-3.tar.gz

21
R CMD build --binaryjest przestarzałe; użyj R CMD INSTALL --buildzamiast tego
— f3lix,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.