web-dev-qa-db-ja.com

Rマークダウン:openBinaryFile:存在しません(そのようなファイルまたはディレクトリはありません)

ユーザーがRマークダウン経由でHTMLレポートをダウンロードできる、光沢のあるアプリを開発しました。カスタムのCSSと画像をrmarkdownファイルに含めようとしています。ただし、次のエラーメッセージが表示され続けます。

pandoc: Could not fetch (either css or image file)
openBinaryFile: does not exist (No such file or directory)

R Studioで.rmdファイルを編成すると、必要な画像ファイルまたはCSSを参照できます。しかし、Shinyアプリを実行してhtmlファイルをダウンロードすると、上記のエラーメッセージが表示されます。イメージとcssファイルを.rmdファイルと同じ作業ディレクトリに配置することも試みましたが、役に立ちません...

output:
  html_document:
   css: pandoc.css

(same error message as above)

これの解決策を見つけようとしていましたが、思われません...誰かがここで助けてもらえますか?

11
ZPeh

同様の問題がありました。完全なファイルパスを使用していませんでした。 〜/ path/to/fileを使用していました。私はそれをフルパスに変更しました(つまり、〜/を削除しました)、それは機能しました。

5
Haloom

私もこの問題を抱えていましたが、理由は、RStudioプロジェクトが共有ドライブ上にあり、ネットワークの場所から開いていたためです。この問題は、プロジェクトを閉じて、マップされたネットワークドライブを介して開いたときに解決されました。 (getwd()を実行したときに、場所が\\で始まっている場合、これはおそらくあなたに起こっていることです。)

5
AColeman

RStudioとpandocエラー(openBinaryFileエラー)で発生した問題は、プロジェクトが作成およびロードされたファイルパスが原因でした。

プロジェクトファイルパス

プロジェクトを作成するときに、上の画像の2番目のオプションであるユニバーサルパスを使用してプロジェクトを作成しました。しかし、これをマップされたドライブ文字(その上のオプション)に変更すると、私のpandocエラーがなくなりました。

RStudio 1.2.1335およびRバージョン3.4.4を実行しています。

1
Zeno Lee

ネットワークファイルストアのあるWindowsマシンでRStudio、rmarkdown、およびpandocを使用して、同様の問題が発生しています。私はさまざまなアドバイスに従い、ドライブを文字にマッピングしましたが、それでも解決しませんでした。

最終的に、libPathsのパスの1つにネットワークロケーション/ユニバーサルパスが含まれていることがわかりました。そのlibpathをマップされたレタードライブに更新しましたが、すべて順調に進んでいるようです!

1
deef123

同じ問題があったと思います。私は最初に Changing the Default Directory を試しましたが、RMarkdownファイルを編成しようとするたびに、同じエラーセットが表示され、プロセスがネットワークのHドライブ上のファイルにまだアクセスしようとしていることを示します私のローカルCドライブ、具体的には、ネットワークドライブのrmarkdownライブラリファイルを探していました。上記のアドバイスに従っていると思いましたが、それでもうまくいかなかったので、ネットワークドライブのrmarkdownフォルダを削除しました

例:\\fwnew12\Home\My Documents\R\win-library\3.6\rmarkdown

これにより、RはローカルのCドライブ(C:/Program Files/R/R-3.6.3/library)そして、最終的にPDFの編成に成功しました。多分これは推奨されるアプローチではありませんが、私はうまくいくものを必要としています。

0
Kodiakflds

最近、Windowsの作業用コンピューターでこの問題に遭遇しました。この場合、_Rprofile.site_ファイルに.libPaths()を設定するだけです。これは以前の回答と一致していますが、もう少し詳細です。

ステップ1

現在のパスを確認します。

_> .libPaths()
[1] "\\\\my_work_server.se/some_subdir$/username/Dokument/R/win-library/3.6"
[2] "C:/R/R-3.6.3/library"
_

ステップ2

_\\\_を探します。この場合は、パス_"\\\\my_work_server.se/some_subdir$/username/Dokument/R/win-library/3.6"_です。このパスは、おそらく既にマウントされているホームディレクトリです。私の場合は_H:_ = _"\\\\my_work_server.se/some_subdir$/username/_です。マウントされたディレクトリがない場合は、最初にこれを修正するか、ライブラリパスを別のパスに変更することができます。

ステップ3

したがって、Rを_C:/R/R-3.6.3/_の下にインストールした場合は、ファイル_C:/R/R-3.6.3/etc/Rprofile.site_を編集して、以下を追加します。

_.First <- function(){
  .libPaths(c("H:/Dokument/R/win-library/3.6", "C:/R/R-3.6.3/library"))
}
_

_H:_を、マウントされたネットワークディレクトリがある場所に変更することを忘れないでください。

ステップ4

これで終わりです。Rを再起動すると、ドキュメントを編成できます。

0
Max Gordon