@konfu0627 (Konfu So)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

パスにOneDriveが入ってしまい、Rがパッケージをインストール出来ません。

解決したいこと

レジストリに関する質問があり、ご連絡させていただきました。R言語を大学の統計学の授業で使うことになり、インストールしたのですが、いくつかのパッケージがインストールすることが出来ません。以下のようなエラーで出ます(konfuはユーザー名で、以下はRStudioでパッケージをダウンロードしようとして出るエラーです)。
解決方法を教えて頂きたいです。

発生している問題・エラー

Error in tempfile(, lib) :
  unable to translate 'C:\Users\konfu\OneDrive\<U+30C9><U+30AD><U+30E5><U+30E1><U+30F3><U+30C8>\R\win-library\4.0' to native encoding
In addition: Warning messages:
1: In list.files(lib) :
  unable to translate 'C:\Users\konfu\OneDrive\<U+30C9><U+30AD><U+30E5><U+30E1><U+30F3><U+30C8>\R\win-library\4.0' to native encoding
2: In list.files(lib) :
  unable to translate 'C:/Users/konfu/OneDrive/<U+30C9><U+30AD><U+30E5><U+30E1><

自分で試したこと

調べたところ、onedriveをルートから外すことでパッケージをインストール出来るようになったという方がいたのでそれを試しました。
1、まずはシンプルにenvironmental variablesから、onedriveを消したのですが変わりませんでした。

2、そこでレジストリから
HKEY_CLASSES_ROOTCLSID{018D5C66-4533-4307-9B53-224DE2ED1FE6} > System.IsPinnedToNameSpaceTree で値を1から0にすれば出来るとネットで書いてあったのですが、ぼくのレジストリに、上記の018D5....のファイルが存在していませんでした。

そこで質問なのですが、この場合は、どのようにして上記のファイルを見つけ出せば良いでしょうか。また不可能なら他に方法はありますでしょうか。回答頂けますと助かります。

0 likes

2Answer

問題は OneDrive ではないと思います。

unable to translate 'C:\Users\konfu\OneDrive\<U+30C9><U+30AD><U+30E5><U+30E1><U+30F3><U+30C8>\R\win-library\4.0' to native encoding

エラーはパス名をネイティブのエンコーディングに変換できないと言っています。詳細は省きますが、 <U+30C9><U+30AD>... の部分(文字列 ドキュメント に相当)が怪しいですね。 R の作業ディレクトリが OneDrive のドキュメントフォルダになっているようです。

十分に多言語対応していないアプリケーションだと、英語以外の言語を含む文字列の扱いで問題が起きがちです。パス名に半角アルファベットだけを含むようなフォルダを作って R の作業ディレクトリを変更したらどうでしょうか。 Windows の RStudio ならメニューの「ファイル」→「ディレクトリを変更…」で変更できるようです。

0Like

別のソフトになりますがOne drive関連のエラーは以前に見たことがあります。 @uasi さんと同じく、レジストリではなくパス名の問題だと思います。

根本的には、R本体のインストール先あるいはパッケージのダウンロード先がOne drive側のドキュメントになっているのが原因ではないかと予想します。
直接的なエラーの原因は、おそらくOne drive側のドキュメントに英語名が存在しないことです。ローカル側のドキュメントは「Document」という英語名を持っていますが、One drive側のドキュメントには日本語名しかないのでしょう。R自体が読み取れるのは基本的にはUTF-8だけなので、文字コード関連でなにかバグっているのだと思います。

もし上記の予想が正しければ、次のことを試したら解決するかもしれません。
・とりあえずRをアンインストール
・Rを再インストール。その際に、Rのインストール先をデフォルトのまま(Cドライブのプログラムファイル内)にしておく。
・デフォルトのR(Rgui)を起動し、なにかしらのパッケージのインストールを試みる。その際にパッケージのダウンロード先を確認されると思うので、ダウンロード先が自分のPCのローカルのドキュメント(One drive内ではない方のドキュメント)になっていることを確認して進める。
・エラーが出なければ成功

0Like

Your answer might help someone💌