Подтвердить что ты не робот

Создайте пакет R, который зависит от другого R-пакета, расположенного на GitHub

Я создаю пакет R на GitHub, LW1949, который зависит от другого пакета R на GitHub, jvamisc. Когда я пытаюсь установить LW1949 с помощью

require(devtools)
devtools::install_github("user/LW1949")

Получаю сообщение: Skipping 1 packages not available: jvamisc.

Как я могу указать часть import(jvamisc) пакета LW1949 (в NAMESPACE) в Github вместо CRAN, чтобы найти эту зависимость?

Конечно, этот вопрос задавали и отвечали раньше, но я не добился успеха в его поиске (возможно, потому, что условия поиска настолько распространены - R, package, GitHub и т.д.). Я наткнулся на Travis CI и Packrat, ни один из которых я не использовал. Не знаю, помогут ли они. Я бы предпочел как можно более простое исправление. (Разве мы не все?)

Я использую R версию 3.1.3 для Windows в R Studio версии 0.98.1103.

4b9b3361

Ответ 1

Этот вопрос, как представляется, был полностью удовлетворен hqve совсем недавно, рассмотренным в этой проблеме в репозитории github от devtools.


Разработчик пакетов POV:

1) do:

devtools::use_package("jvamisc")
devtools::document()

чтобы добавить зависимость в поле Imports вашего файла DESCRIPTION.

2) вручную добавьте поле "Remotes:" в файле DESCRIPTION, указав, где на github R следует искать пакет:

#in DESCRIPTION
Imports: ...,
   jvamisc,
   ...
Remotes: JVAdams/jvamisc


конечный пользователь POV:

1) конечный пользователь должен иметь последнюю версию devtools (или, по крайней мере, соответствующую фиксации # f21ca3516c). Вам нужно как-то "заставить его" обновить версию devtools (я думаю, просто поместите это в инструкции по установке... Не могу придумать лучшего способа)

devtools::install_github("hadley/devtools", ref = "f21ca3516c")

2) Перезапустите сеанс R для разгрузки/перезагрузки пакета devtools

3) выполните обычную install_github

require(devtools)
devtools::install_github("user/LW1949")

Я предполагаю, что эта функциональность будет добавлена ​​рано или поздно к версии devantool CRAN, поэтому пользователю не нужно будет выбирать версию dev, и он перейдет непосредственно к шагу 3).


Этапы и дополнительные параметры подробно описаны в этой виньетте

Ответ 2

Фактическое решение, похоже, добавит в ваш файл DESCRIPTION строку

Remotes: hadley/testthat

см. документацию devtools:

# Git
Remotes: git::https://github.com/hadley/ggplot2.git

# Bitbucket
Remotes: bitbucket::sulab/[email protected], dannavarro/lsr-package

# Bioconductor
Remotes: bioc::3.3/SummarizedExperiment#117513, bioc::release/Biobase

# SVN
Remotes: svn::https://github.com/hadley/stringr

# URL
Remotes: url::https://github.com/hadley/stringr/archive/master.zip

# Local
Remotes: local::/pkgs/testthat

# Gitorious
Remotes: gitorious::r-mpc-package/r-mpc-package