2015-10-30 2 views
4

Я получаю странную ошибку при попытке создания и перезагрузки в RStudio. В моем файле описания я включил пакет, который я создал и поддерживал в своей организации. Это не на CRAN. По сути, когда я обновить файл описания (Зависит: ...), я получаю эту ошибку:Пакет зависимостей «имя_пакета» недоступен

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

Updating fczstudy documentation 
Loading fczstudy 
Error in (function (dep_name, dep_ver = NA, dep_compare = NA) : 
    Dependency package surv3 not available. 
Calls: suppressPackageStartupMessages ... <Anonymous> -> load_all -> load_depends -> mapply -> <Anonymous> 
Execution halted 

В этом случае surv3 это пакет, который я поддерживаю в моей организации - Я могу подтвердить, что это действительно потому что я его использую.

Это не похоже на другие пакеты из CRAN. Это только началось несколько дней назад. Это не позволяет мне импортировать мой пакет (surv3)

Я действительно не уверен, как отладить это.

traceback() в консоли после Ctrl + Shift + B ничего не возвращает

Вот мой sessionInfo():

R version 3.2.0 (2015-04-16) 
Platform: x86_64-w64-mingw32/x64 (64-bit) 
Running under: Windows 8 x64 (build 9200) 

locale: 
[1] LC_COLLATE=English_United States.1252 
[2] LC_CTYPE=English_United States.1252 
[3] LC_MONETARY=English_United States.1252 
[4] LC_NUMERIC=C       
[5] LC_TIME=English_United States.1252  

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods 
[7] base  

other attached packages: 
[1] surv3_1.01  knitr_1.11  fczstudy_0.1.0 dplyr_0.4.3 
[5] ggplot2_1.0.1 

loaded via a namespace (and not attached): 
[1] Rcpp_0.12.1  assertthat_0.1 digest_0.6.8  
[4] MASS_7.3-40  R6_2.1.1   grid_3.2.0  
[7] plyr_1.8.3  gtable_0.1.2  DBI_0.3.1  
[10] magrittr_1.5  scales_0.3.0  stringi_0.5-5 
[13] lazyeval_0.1.10 reshape2_1.4.1 rmarkdown_0.8.1 
[16] proto_0.3-10  tools_3.2.0  stringr_1.0.0 
[19] munsell_0.4.2 yaml_2.1.13  parallel_3.2.0 
[22] colorspace_1.2-6 htmltools_0.2.6 
+2

Это поможет, если вы добавите выход из 'TRACEBACK()' (после ошибки) и на выходе из 'sessionInfo()'. –

+0

Я пробовал это раньше. 'Нет доступных отпечатков. Я обновлю вопрос 'sessionInfo()' –

ответ

2

галочку с кружком вариант в Параметры проекта> Build Tools диалог решает эту проблему, хотя я м не совсем понятно, почему:

enter image description here

+0

, к сожалению, это не сработало для меня. Вы используете packrat с вашим проектом? – Elise

+0

Нет, я думаю, что что-то не так с моей установкой. –

+0

@Elise У меня возникла такая же проблема с packrat, я отключил packrat, и проблема была решена ... Я не смог повторить ее последовательно, хотя – mlegge

1

Когда у меня была такая же проблема , это было вызвано проблемой в файле DESCRIPTION.

Строка, начинающаяся с Depends: имел пакет зависимостей, перечисленных в случае неправильного (например Ggplot2 вместо ggplot2)

Я надеюсь, что вам не нужно это исправить больше, но это может быть полезным для кого-то другого.

2

Решение Brandon не работает для меня. Тем не менее, я обнаружил, что если вы загружаете document после загрузки упаковки, то это не вызывает ошибки. Кроме того, даже когда он выдает ошибку, все еще кажется, что обновление пакета. Таким образом, можно обойти это, запустив код в другом порядке.

Я изучил исходный код функции document и отследил сообщение об ошибке до вызова requireNamespace. Оказывается, что пакет вообще не пропал без вести, но в вызове функции .onLoad произошла ошибка. Это приводит к возврату requireNamespaceFALSE (пакет не может быть загружен), так же, как если пакет не установлен. Итак, реальная проблема заключается в том, что сообщение об ошибке от document неверно в данном конкретном случае.

Пример ошибки:

Browse[2]> requireNamespace("thepackage") 
Loading required namespace: thepackage 
Failed with error: ‘.onLoad failed in loadNamespace() for 'thepackage', details: 
    call: some_function(., some_variable) 
    error: could not find function "some_function"’ 

 Смежные вопросы

  • Нет связанных вопросов^_^