Установите двоичный пакет с zip файлом через командную строку
Я пытаюсь установить zipped бинарные пакеты R через командную строку на машине Windows 7 с помощью
R CMD INSTALL packagename
но это не сработает. Я читал, что CMD INSTALL не может использоваться для установки двоичных пакетов. Итак, как я могу установить бинарные пакеты через командную строку?
Ответы
Ответ 1
Вы можете использовать переднюю часть Rscript
для запуска кода, как если бы он находился в запущенном сеансе R. Скажем, пакет, который вы хотите установить, - foo.zip
в текущем рабочем каталоге. Я, вероятно, злоупотребляю Rscript
здесь, но он работает для меня:
Rscript -e "install.packages('foo.zip', repos = NULL)"
Вам нужно указать путь к двоичному пакету, если он не находится в каталоге, где работает script. repos = NULL
- это трюк, чтобы получить install.packages()
для работы из локального файла. Прочтите ?install.packages
для получения дополнительной информации о других аргументах, которые вы можете указать, особенно lib
. Обратите внимание, что при этом вы не пользуетесь автоматическим разрешением зависимостей - для этого вам нужен repo
, и если вы его подадите, R попытается загрузить пакеты.
Вы правы насчет R CMD INSTALL
; в Руководстве по установке и администрированию R в разделе Раздел 6.3 указано следующее:
Для установки пакетов из источника в Unix-подобных используйте
R CMD INSTALL -l /path/to/library pkg1 pkg2 ...
Ответ 2
Альтернативой для новичков, таких как я, которые свободны от хлопот, будет:
install.packages(file.choose(), repos=NULL)
В команде file.choose() появится окно, в котором вы можете выбрать файл .zip или файл tar.gz, где вы его загрузили.
Эта команда очень полезна, когда у вас недостаточно прав на машине Windows и запускайте R с флеш-накопителя, такого как я.
Также полезно перед выполнением этой команды RENAME zip файл, который вы собираетесь установить, в имя пакета, которое вы собираетесь использовать.
Ответ 3
Добавление к @moldovean ответа:
Я использовал для сохранения заархивированного файла (копия из temp в папку загрузки R для последующей справки).
Когда я обновляю R с 2.15.1 до 3.0.1, я запускаю эти команды для легкой установки:
setwd("C:/Downloads/R Packages");
packages<-dir();
install.packages(x, repos=NULL) #where x is the name of package
И R автоматически установил все пакеты из zip файлов. Теперь я могу обновить все из них только одной командой (google it)