備忘ログ

チラシの裏的備忘録&メモ

tubeplayRをインストールする方法(devtools::install_github("kazutan/tubeplayR")で上手く行かない場合)

(追記)issuesを書いたらあっという間に対応されtubeplayR0.1.4に更新されてdevtools::install_github("kazutan/tubeplayR")でインストールできるようになった。以下はtubeplayR0.1.3のときの対応の記録。

GitHub - kazutan/tubeplayR: play youtube by RからtubeplayRをインストールしようとして

devtools::install_github("kazutan/tubeplayR")

とやっても上手くインストールできないときの対処法。

多分、上手く行かない原因はsrcフォルダの存在だと思う。

手順はtubeplayRのソースをゲットして、ソースを少し弄ってインストールできるようにする。


パターン1はgitを使ってクローンして.Rbuildignoreに1行追記してソースパッケージをビルドしてそれをインストールする方法。

git clone https://github.com/kazutan/tubeplayR.git

クローンその中身にある、tubeplayR.Rproj内で作業。

tubeplayR.Rprojと同じ階層に存在する.Rbuildignoreを編集。

.Rbuildignoreはパッケージを作るときに無視するファイルを設定するファイルらしい。

この中に

^src

を追記して保存。

その上でRStudioのBuildからBuild Source Packageでソースパッケージファイル(.tar.gz)を作成する。

できたファイルはひとつ上のディレクトリにあるので

install.packages("../tubeplayR_0.1.3.tar.gz", repos = NULL, type = "source")

でインストールできる。

この方法だと、RStudio内ですべて完結できる。


もう一つは、githubからzipでソースコードをダウンロードして、展開してその中のsrcフォルダを削除する方法。

フォルダさえなければ、あとはtubeplayR.RprojでRStudioで開いてBuild > Install and Restartでインストールできる。

この方法だとgitのインストールもいらないし、コードを書き換える必要もないし、直接インストールできるのでお手軽。

ただし、ダウンロードしたフォルダを削除するのがなんとなく気持ち悪い。

ただ、.Rbuildignoreでビルドするときに避けるようにしたものでもtar.gz内にsrcを含まないようにしただけなので要するにやっていることは一緒。


自分の環境だけの問題&解決策なのか、それ以外の環境でも起こる問題&解決策なのかは未検証。

もし非環境依存ならバグ報告か? githubのアカウント作らなきゃ?

(追記)複数環境で同様の問題と同じ対処法で解決できることを確認。githubで報告してみたが、お作法がよくわからない。

issueにインストールできない問題が挙げられていたので環境依存じゃないかもしれないけど、エラーメッセージがちょっと違う。


なんでsrcフォルダが悪さしているとおもったのかというと、バイナリファイルをローカルで作るときにsrc-i386というフォルダが作られて、そこで挙動が停止していて怪しいなと思ったから。

よく調べてないけど、通常のsrcの中身は.cppなんかが入っていコンパイルするときにi386x86でそれぞれコンパイルするんだろうと思うけど、今回の場合は中身に画像ファイルだけが入っているのがエラーの原因かと思った。

clean srcがinstall_github()で動作するけど、詳細調べていないけど今回の挙動からして.oなんかは消してくれるけど、それ以外は上手く消してくれない?のかもと思った。