Сборка и перезагрузка в RStudio в Windows: devtools::document() говорит, что devtools не найден

Когда я нажимаю «Сборка и перезагрузка» на вкладке «Сборка» в RStudio, я получаю следующую ошибку:

==> devtools::document(roclets=c('rd', 'collate', 'namespace'))

Error in loadNamespace(name) : there is no package called 'devtools'
Calls: suppressPackageStartupMessages ... tryCatch -> tryCatchList -> tryCatchOne -> <Anonymous>
Execution halted

Exited with status 1.

Но когда я просто ввожу devtools::document(roclets=c('rd', 'collate', 'namespace')) прямо в консоль, все работает.

Кроме того, если я сниму флажок «Сборка и перезагрузка» в разделе «Автоматически roxygenize при запуске:» в конфигурации «Инструменты сборки» -> «Roxygen», ошибка исчезнет.

Я установил последнюю версию devtools с devtools::install_github("hadley/devtools"). Я использую Windows.

Если у кого-то есть предложения, заранее спасибо!


person Jeff Erickson    schedule 31.03.2015    source источник
comment
Я получаю ту же ошибку. Просто любопытно, у вас есть собственное расположение библиотеки или вы просто используете значение по умолчанию?   -  person PirateGrunt    schedule 08.06.2015
comment
@PirateGrunt Это пользовательское местоположение.   -  person Jeff Erickson    schedule 08.06.2015
comment
Как и мой. Мне интересно, пытается ли RStudio загрузиться по умолчанию.   -  person PirateGrunt    schedule 08.06.2015
comment
@PirateGrunt Хорошая теория! Возможно, на этих выходных смогу протестировать.   -  person Jeff Erickson    schedule 09.06.2015
comment
Только что столкнулся с этой проблемой - думаю, вы ее получите, если у вас есть пользовательская библиотека R (моя находится в ~/R/library), похоже, она не распространяется на команды Ctrl+Shift+[D/B]. Мне пришлось R --vanilla (чтобы моя .libPaths() была по умолчанию) и установить devtools (снова) в личную библиотеку по умолчанию (~/R/x86_64-pc-linux-gnu-library/3.2)   -  person mathematical.coffee    schedule 07.09.2015
comment
Мне пришлось снять флажок «Сборка и перезагрузка» в разделе «Автоматическая реоксигенация при запуске»: в меню «Инструменты сборки» -> «Настройка Roxygen». Установка devtools в Program Files/r/3.2.3/lib помогла, но он все еще хотел, чтобы все зависимости были там. Использование packrat, похоже, тоже не помогло...   -  person Alexander Shenkin    schedule 10.02.2016
comment
Это работает для меня @AlexanderShenkin, ура. Предлагаем вам добавить его в качестве ответа.   -  person geotheory    schedule 30.10.2016


Ответы (4)


Мне пришлось снять флажок «Сборка и перезагрузка» в разделе «Автоматическая реоксигенизация при запуске:» в меню «Инструменты сборки» -> «Настройка Roxygen». Установка devtools в Program Files/r/3.2.3/lib помогла, но он все еще хотел, чтобы все зависимости были там. Использование packrat, похоже, тоже не помогло.

person Alexander Shenkin    schedule 31.10.2016
comment
Да, это успешно помогает избежать проблемы, а это означает, что если я захочу реоксигенировать его, он все равно выйдет из строя. - person Garini; 23.10.2018

Вот удобное решение, основанное на комментарии Math.coffee:

Просто запустите это из Rstudio:

writeLines("install.packages('devtools', repos = 'https://cran.rstudio.com/')", "inst.R")
system("Rscript --vanilla inst.R")
person nassimhddd    schedule 09.11.2015
comment
Это решение не сработало для меня. У меня есть devtools и roxygen2, установленные в ~/Library/R/3.2/library, и я все еще сталкиваюсь с той же проблемой, что и выше. - person lalas; 21.04.2016

Я сталкивался с этой проблемой несколько раз, а также с другими пакетами, связанными с devtools (например, knitr в devtools::check()). Так как это действовало мне на нервы, я попытался установить devtools в другое место от .libPaths(), т.е. в первое стандартное (в моем случае это было /usr/local/lib/R/site-library/). Он говорил мне, что мне нужно sudo прав. Я их дал (так как меня это донельзя раздражало) но все равно нужно большое количество зависимостей. Поэтому моим практическим решением было sudo-скопировать мою «специальную» папку библиотеки R в стандартную. Следующий код исправил все мои проблемы:

sudo cp -rf /home/myname/R/x86_64-pc-linux-gnu-library/3.4/* /usr/local/lib/R/site-library/

Я хотел бы отметить, что это единственное эффективное решение, которое я нашел. Тем не менее, ему не хватает элегантности, и я определенно предпочел бы, чтобы ребята из Rstudio предоставили способ связать Rstudio с личной библиотекой. Это уже был мой случай при запуске, и мне пришлось добавить свою личную либу в .libPaths() в файле Rprofile.site, который запускается каждый раз при запуске R, но это все равно не решило вышеуказанную проблему.

person Garini    schedule 23.10.2018

Я сталкиваюсь с той же проблемой, которую я решаю в последней версии Rstudio:

Сборка -> Настройка инструментов сборки -> Инструменты сборки -> Нажмите кнопку «Настроить» -> Снимите флажок «Исходные и двоичные сборки пакетов»

person Jim Chen    schedule 21.03.2020