2015-05-27 23 views
34

Tôi đang tạo gói R trên GitHub, LW1949, phụ thuộc vào gói R khác trên GitHub, jvamisc. Khi tôi cố gắng cài đặt LW1949 bằng cách sử dụngTạo gói R phụ thuộc vào gói R khác nằm trên GitHub

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

Tôi nhận được thông báo: Skipping 1 packages not available: jvamisc.

Làm cách nào tôi có thể trỏ phần import(jvamisc) của gói LW1949 (trong NAMESPACE) tới Github thay vì CRAN để tìm phụ thuộc này?

Chắc chắn câu hỏi này đã được hỏi và trả lời trước đó, nhưng tôi đã không tìm kiếm thành công (có lẽ vì các cụm từ tìm kiếm quá phổ biến - R, gói, GitHub, v.v.). Tôi đã tình cờ gặp Travis CIPackrat, tôi cũng không sử dụng. Không có ý tưởng nếu họ sẽ giúp đỡ. Tôi muốn sửa chữa càng đơn giản càng tốt. (Chúng ta không phải tất cả?)

Tôi đang sử dụng phiên bản R 3.1.3 cho Windows trong R Studio Phiên bản 0.98.1103.

+5

Câu hỏi tương tự vừa nhận được askend trên r-pkg-devel. Nếu bạn tạo repo drat trên github, bạn có thể xác định rõ ràng nó trong trường 'Additional_repositories' của tệp DESCRIPTION của bạn. –

+0

Xin chào Jean. Rất vui được gặp bạn trên SO. Các tùy chọn cơ sở bổ sung cũng cần thiết khi có một hỗn hợp các gói CRAN và BioC đã phụ thuộc lẫn nhau, nhưng bây giờ bạn có thể chỉ định danh sách tìm kiếm của repos trong một tùy chọn: 'options (" repos ")' Cũng thấy '? SetRepositories' –

+1

Bạn có thể muốn chia nhỏ dự án và liên kết với gói đó trong gói của bạn mặc dù ... trong trường hợp người dùng ban đầu xóa/thay đổi nó theo cách phá vỡ gói của bạn. – cory

Trả lời

21

Câu hỏi này dường như đã được trả lời gần đây, được giải quyết trong this issue của kho lưu trữ github của devtools.


Gói phát triển POV:

1) làm:

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

để thêm phụ thuộc vào Imports lĩnh vực tập tin mô tả của bạn.

2) tự thêm một lĩnh vực "Remotes:" trong tập tin DESCRIPTION, xác định nơi trên github R nên tìm kiếm các gói:

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


người dùng cuối POV:

1) người dùng cuối phải có phiên bản phát triển mới nhất của devtools (hoặc ít nhất là phiên bản tương ứng với cam kết # f21ca3516c). Bạn cần phải bằng cách nào đó 'buộc anh' để cập nhật phiên bản DevTools mình (tôi đoán chỉ cần đặt này trong các hướng dẫn cài đặt ... không thể nghĩ ra một cách tốt hơn)

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

2) Khởi động lại R Phiên giao dịch ngày dỡ bỏ/tải lại gói DevTools

3) làm install_github thường

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

tôi đoán chức năng này sẽ được bổ sung sớm hay muộn lên phiên bản cran của DevTools, vì vậy sẽ không có nhu cầu cho người sử dụng để lấy phiên bản dev và anh ấy sẽ đi trực tiếp đến bước 3).


Các bước và tùy chọn bổ sung được chi tiết hóa trong this vignette

9

Các giải pháp thực tế dường như thêm vào mô tả của bạn nộp dòng

Remotes: hadley/testthat 

xem tài liệu của 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 
Các vấn đề liên quan