2015-05-27 23 views
34

Tworzę pakiet R na GitHub, LW1949, który zależy od innego pakietu R na GitHub, jvamisc. Kiedy próbuję zainstalować LW1949 użyciuUtwórz pakiet R, który zależy od innego pakietu R znajdującego się na GitHub

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

dostaję komunikat: Skipping 1 packages not available: jvamisc.

Jak mogę wskazać część import(jvamisc) pakietu LW1949 (w NAMESPACE) do Github zamiast CRAN, aby znaleźć tę zależność?

Z pewnością na to pytanie zadano już wcześniej odpowiedź, ale nie udało mi się go wyszukać (być może dlatego, że wyszukiwane terminy są tak częste - R, pakiet, GitHub itp.). Udało mi się natknąć na Travis CI i Packrat, z których żadnego nie używałem. Nie mam pojęcia, czy mogliby pomóc. Wolę prostą naprawę. (Czy nie wszyscy?)

Używam wersji R 3.1.3 dla systemu Windows w wersji R Studio 0.98.1103.

+5

Podobne pytanie właśnie zostało askend na r-pkg-devel. Jeśli utworzysz repo drat na githubie, możesz najwyraźniej określić go w polu 'Additional_repositories' twojego pliku DESCRIPTION. –

+0

Cześć Jean. Dobrze cię widzieć na SO. Opcja dodatkowych obiektów była również potrzebna, gdy istniała mieszanina pakietów CRAN i BioC, które były współzależne, ale teraz można określić listę przeszukiwań repo w opcji: 'options (" repos ")' Zobacz także '? SetRepositories' –

+1

Możesz chcieć rozwidlić projekt i połączyć go z pakietem w ... ale na wypadek, gdyby oryginalny użytkownik usunął/zmienił go w sposób, który łamie twój pakiet. – cory

Odpowiedz

21

Na to pytanie odpowiedział niedawno odpowiedź pod adresem this issue repozytorium github devtools.


Pakiet deweloper POV:

1) zrobić:

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

dodać zależność w dziedzinie pliku OPIS Imports.

2) ręczne dodanie pole "zdalne" w pliku opisu, określenia, gdzie na github R należy szukać pakietu:

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


Punkt widzenia użytkownika końcowego:

1) użytkownik końcowy musi mieć najnowszą wersję rozwojową devtools (lub przynajmniej taką, która odpowiada commit # f21ca3516c). Trzeba jakoś „zmusić” zaktualizować swoją wersję DevTools (chyba po prostu umieścić to w instrukcji montażu ... Nie mogę sobie wyobrazić lepszy sposób)

devtools::install_github(“hadley/devtools”, ref = “f21ca3516c”) 

2) ponownego uruchomienia sesji R na rozładunku/przeładować pakiet DevTools

3) czy zwykle install_github

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

Chyba ta funkcjonalność zostanie dodana prędzej czy później do wersji CRAN z DevTools, więc nie będzie potrzeby, aby użytkownik mógł pobrać wersję dev i przejdzie bezpośrednio do kroku 3).


Kroki i dodatkowe opcje są szczegółowo opisane w this vignette

9

Rzeczywiste rozwiązanie wydaje się dodawać w opisie pliku linię

Remotes: hadley/testthat 

zobaczyć dokumentację 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 
Powiązane problemy