自分の環境
OS: Windows 11 Home
R version: 4.1.3
Rstudio RStudio 2022.02.1+461
症状
新しいPCにRとRstudioを入れたのち、Rstudioでパッケージをインストールしようとしたら、次のような警告が出た。
Warning message:
In normalizePath(path.expand(path), winslash, mustWork) :
path[1]="C:/Users/XXX/OneDrive/??????": ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。
パッケージ自体はちゃんとインストールできていた。そして次の別のコマンド(ライブラリ読み込みなど)からはこの警告は出て来ない。
ただ、別のパッケージをインストールすると同じ警告が出てくる。
解決策
ネットで調べてみたら、同じ症状の方がいたので、そこで貼られていたリンク先の通りにやったら解決した。
要は、Rはデフォルトでホームディレクトリを「ドキュメント」に指定していて、この「ドキュメント」は全角日本語なので警告が出ると、いうことだと理解した。
C:\Users\XXXX に新しいフォルダ(XXXXはユーザ名。新フォルダの名前は何でもいいが、"R_setting"にした)を作って、
Windowsの環境変数R_USERをC:\Users\XXXX\R_settingにして作成してやると、上の警告は出なくなった。
ホームディレクトリはR_settingに設定されているので、現在のディレクトリを表示すると当然
> getwd()
[1] "C:/Users/XXXX/R_setting"
になる。
他に気をつけること
ちなみに・・
そもそも、上のリンク先の記事いわく、RをWindowsのC:\Program Filesにインストールすること自体避けたほうがいいみたい。管理者権限が必要になるといろいろ面倒だから(→追記へ)。
私は、この症状が出たときはProgram FilesにRをインストールしていたので、
RとRstudioを一旦アンインストールして、
C:\Users\XXXX に再度インストールしてからこの手順を踏んだ。
Program FilesにRをインストールした状態でこれを試したことはないが、環境変数を設定するだけなので大丈夫だと思う。
追記
C:\Program Filesにインストールした状態でRのパッケージをインストールしようとすると「書き込む権限がない」と注意され「代わりにここに書き込むけどええかの?」と聞いてきた先のフォルダ名が日本語(OneDrive内の「ドキュメント」)で、そのせいでエラーが出て結局パッケージがインストールできない、というのが、私の最初の問題だった。この問題はこちらで詳しく解説されていて、
その解決策としてライブラリのパスを設定したりしている。がそもそもProgram FilesにRをインストールしなければ「書き込む権限がない」と怒られる問題は発生しないのだった。