ちょっと恥ずかしい/ノーゴーですが、「純粋なユーザー」から「初心者開発者」に移行してからそれほど長くはないので、新しいRバージョンがリリースされたときに実際にCHANGELOGを読んだことはありません。 -今日まで(そして私はこれを習慣にするべきだと感じています);-)
それでも、RR 2.15.2のCHANGELOGを最初に垣間見ると、それについて何も見つからなかったため、想定された変更が実際に発生したかどうかはわかりません。
実際の質問
パッケージリポジトリの(サブディレクトリ)構造がから変更された可能性はありますか
./bin/windows/contrib/2.xx/
に
./src/contrib/2.xx/
または./src/contrib
?
または、少なくともPACKAGES
ファイルがここに存在する必要があるということ./src/contrib/PACKAGES
です。
背景情報
バージョン2.15.1までは、ローカルパッケージリポジトリからパッケージをインストールするために次のパスが機能していました。
path.repos <- "L:/R/packages"
repos <- file.path("file://", path.repos)
関数contrib.url
はrepos
それを受け取り、適切なサブディレクトリに展開します。
> contrib.url(repos)
[1] "file:///L:/R/packages/bin/windows/contrib/2.15"
しかし、実行しようとするとinstall.packages()
、R2.15.2で次のエラーが発生します。
> install.packages("mypkg",
+ lib=file.path(R.home(), "library"),
+ repos=repos,
+ type="win.binary"
+ )
Error in read.dcf(file = tmpf) : cannot open the connection
In addition: Warning message:
In read.dcf(file = tmpf) :
cannot open compressed file 'L:/R/packages/src/contrib/PACKAGES', probable reason 'No such file or directory'
>
R 2.15.1で同じことをすると、すべてがスムーズに機能します。
デューデリジェンス
CHANGELOGにはリポジトリに関するいくつかの参照がありますが、想定される変更が発生したという証拠を私に与える唯一のセクションは次のとおりです。
パッケージのインストール
WindowsまたはMacOSXのバイナリパッケージをインストールする場合、install.packages()は、ソースパッケージが同じリポジトリで利用可能かどうかを確認し、それが新しいバージョンであるか、ソースパッケージはあるが、利用可能なバイナリパッケージがないかを報告します。
公式ドキュメントをもう一度見て、パッケージの場所を探しているように見えるので、argが正しくtype
渡されない可能性があるという考えを得ましたか?contrib.url()
install.package()
type="source"