2013-02-25 7 views
11

Normalnie zainstalować pakiety używając:Move r pakiety do nowego komputera, który nie ma internetu

install.packages("foo") 

i repo przez internet. Ale mam teraz nową maszynę, w której chcę replikować pakiety z mojej istniejącej instalacji bez ciągłego ściągania wszystkiego z Internetu. (Mam mnóstwo pakietów i wolny dostęp do Internetu)

Obie maszyny są Windows i działają w tej samej wersji R. (2.13.1)

Czy jest jakiś sposób na zrobienie tego? Najbliżej mogę dostać się wiem, że mogę zainstalować z użyciem lokalnych plików zip:

install.packages("pathtozip", repos = NULL) 

Ale czy R przechowywać wszystkie suwaki gdzieś? Znalazłem kilka w lokalizacjach takich jak:

C:\Documents and Settings\foouser\Local Settings\Temp\RtmpjNKkyp\downloaded_packages 

Ale nie wszystkie.

Jakieś wskazówki?

+1

'copydir.bat' oraz' movedir.bat' w pliku wsadowym będą odpowiednio kopiować i przenosić biblioteki. Zobacz http://batchfiles.googlecode.com. Zobacz komentarze u góry każdego z tych plików. –

+2

To było już pytanie, którego nie mogę teraz znaleźć, ale pamiętam, że @Dwin dał bardzo solidną odpowiedź. –

+0

Dzięki @ G.Grothendieck i RSaporta. Spróbuję. –

Odpowiedz

11

Funkcja .libPaths podaje wektor wszystkich bibliotek w komputerze. Uruchom to na starej maszynie, aby znaleźć wszystkie. Możesz po prostu skopiować wszystkie te pliki do bibliotek na nowym komputerze (uruchom na nim także .libPaths, aby dowiedzieć się, gdzie).

Alternatywnie, jeśli chcesz skonfigurować prawdziwe repozytorium (tj. Po prostu lustro CRAN) na komputerze lub na dysku sieciowym, który możesz zaktualizować, możesz umieścić pakiety binarne lub źródłowe w folderze i uruchomić w tym folderze tools::write_PACKAGES . Można je uruchomić przy użyciu argumentu install.packages przy użyciu argumentu contriburl i skierować go do folderu z repozytorium.

+0

Po zakończeniu tego procesu, problem, który można napotkać w drugim podejściu (lokalny mirror CRAN, używając 'tools :: write_PACKAGES' itd.), Jest taki, że niektórych bibliotek może brakować (np. 'stringi' używa biblioteki' ICU4C', która jest automatycznie instalowana po podłączeniu do Internetu). Ten komentarz jest przeznaczony dla osób prowadzących tę ścieżkę. – steveb

+0

Wpadłem raz na ten numer. Można go pobrać osobno lub wstępnie zainstalować na komputerze.W obu przypadkach przydatne są [instrukcje instalacji] (https://github.com/gagolews/stringi/blob/master/INSTALL) ze strony projektu. –

+0

Skończyło się na tym, że korzystałem z instrukcji instalacji do budowania stringi przy użyciu GitHub. To zadziałało dobrze i obsłużyło zależność ICU4C. – steveb

8

Wszystkie zainstalowane pakiety są przechowywane w folderze o nazwie win-library \ r-version, na przykład C: \ Users \ Ehsan \ Documents \ R \ win-library \ 2.15, więc wystarczy skopiuj wszystkie foldery w wersji 2.15 do tego samego folderu na nowym komputerze. ponieważ masz tę samą wersję R, nie musisz ich aktualizować przez update.packages().

Powiązane problemy