Почему я должен вручную создавать каталог "~/R/%p-library/%v" при каждом обновлении R?
Каждый раз R
обновлен, я должен переустановить пакеты, которые я использую (из источников, поэтому они должны быть перекомпилированы для новой версии). Это правильное, понятное поведение, поэтому я призываю install.packages
- и получаю ошибку, потому что каталог, доступный для записи пользователем "~/R/%p-library/%v"
еще не существует, и все остальные каталоги в .libPaths()
находятся под /usr/
и не доступны для записи пользователем. Это поведение задокументировано на ссылочных страницах.
Итак, после получения ошибки установки я должен сделать это:
> dir.create(Sys.getenv("R_LIBS_USER"))
> .libPaths(Sys.getenv("R_LIBS_USER"))
> install.packages(c("igraph","entropy",...))
Мой вопрос: как люди решают эту проблему?
Создать каталог вручную после каждого обновления? (но разве это не утомительно?)
Добавить dir.create
позвонить .Rprofile
? ( видимо нет)
РЕДАКТИРОВАТЬ: Кажется, я помню, когда я начал использовать R
этот каталог библиотеки появился без моего действия; но я могу ошибаться...
1 ответ
Одна вещь, которую вы можете попробовать, это указать R_LIBS
в .REnviron
файл в вашем $HOME$
каталог, например, я нахожусь на Windows на работе, поэтому первая строка в моем .REnviron
это что-то вроде R_LIBS="C:\Some\path\library"
,
Затем, когда вы придете к обновлению с изменения основной версии, вы можете просто использовать:
update.packages( lib.loc = .libPaths()[1] , checkBuilt = TRUE )
Чтобы узнать ваш $HOME$
использование каталога:
Sys.getenv("HOME")