web-dev-qa-db-ja.com

GitHubにある別のRパッケージに依存するRパッケージを作成する

GitHubでRパッケージを作成しています LW1949 、これはGitHubで別のRパッケージ jvamisc に依存しています。を使用してLW1949をインストールしようとすると

_require(devtools)
devtools::install_github("user/LW1949")
_

「_Skipping 1 packages not available: jvamisc_」というメッセージが表示されます。

この依存関係を見つけるために、LW1949パッケージ(NAMESPACE内)のimport(jvamisc)部分をCRANではなくGithubにポイントするにはどうすればよいですか?

確かにこの質問は以前に尋ねられ、回答されたものですが、私はそれを検索することに成功しませんでした(おそらく、検索用語が非常に一般的である-R、パッケージ、GitHubなど)。私は Travis CIPackrat を偶然見つけました。どちらも使用していません。彼らが役立つかどうかはわかりません。できるだけ簡単な修正をしたいと思います。 (みんなじゃないの?

R Studioバージョン0.98.1103でRバージョン3.1.3 for Windowsを使用しています。

48
Jean V. Adams

この質問はごく最近回答されたようで、devtoolsのgithubリポジトリの this issue で対処されています。


パッケージ開発者のPOV:

1)する:

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

依存関係をDESCRIPTIONファイルのImportsフィールドに追加します。

2)DESCRIPTIONファイルにフィールド「Remotes:」を手動で追加し、github Rでパッケージを探す場所を指定します。

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


エンドユーザーPOV:

1)エンドユーザーはdevtoolsの最新の開発バージョン(または少なくともcommit#f21ca3516cに対応するもの)を持っている必要があります。どういうわけか、彼にdevtoolsのバージョンを更新するように「強制」する必要があります(インストール手順にこれを入れただけだと思います...これ以上の方法は考えられません)

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

2)devtoolsパッケージをアンロード/再ロードしたときにRセッションを再起動します

3)通常のinstall_githubを実行します

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

この機能は遅かれ早かれdevtoolsのCRANバージョンに追加されるので、ユーザーがdevバージョンをフェッチする必要はなく、直接ステップ3)に進みます。


手順と追加オプションの詳細は this vignette にあります

30
slymore

実際の解決策はDESCRIPTIONファイルに次の行を追加するようです

Remotes: hadley/testthat

devtoolsのドキュメントを参照してください:

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

# Bitbucket
Remotes: bitbucket::sulab/mygene.r@default, 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
16
Vincent Guyader