`Sys.which` 在 RStudio 中找不到可执行文件
`Sys.which` does not find an executable file in RStudio
我正在使用 Ubuntu 18.04、R 3.6.3 和最新版本的 RStudio。我有一个名为 brittany
的可执行文件。当我在终端中 运行 which brittany
时,它被找到了。当我在终端中输入 运行 R 并键入 Sys.which("brittany")
时,它就被发现了。但是当我在 RStudio 控制台中键入 Sys.which("brittany")
时,找不到它。为什么?这个文件的路径是/home/stla/.local/bin/brittany
.
我找到了一个解决方法:如果我对路径中不包含句点的文件夹中的此文件执行符号 link,则会找到符号 link,我可以执行它。看起来像是 RStudio 的错误。
因此您的 shell 的 $PATH 值与 RStudio 的不同(在开始时,或通过您的 'dot' 文件)。结果路径显示:/home/$USER/.local/bin
是私有路径,不是系统路径。
我认为 RStudio 很荣幸 ~/bin
所以也许可以创建它并添加一个软链接。
另一方面,在我的机器上(Ubuntu 20.04,R 4.0.2,RStudio 1.4.781)我看到
R> system("echo $PATH")
/home/edd/.local/bin:/home/edd/bin:/usr/local/sbin:/usr/local/bin:\
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:\
/usr/lib/rstudio/bin/postback
R>
这不是 system()
的侥幸,因为 Sys.getenv("PATH")
显示相同。
我正在使用 Ubuntu 18.04、R 3.6.3 和最新版本的 RStudio。我有一个名为 brittany
的可执行文件。当我在终端中 运行 which brittany
时,它被找到了。当我在终端中输入 运行 R 并键入 Sys.which("brittany")
时,它就被发现了。但是当我在 RStudio 控制台中键入 Sys.which("brittany")
时,找不到它。为什么?这个文件的路径是/home/stla/.local/bin/brittany
.
我找到了一个解决方法:如果我对路径中不包含句点的文件夹中的此文件执行符号 link,则会找到符号 link,我可以执行它。看起来像是 RStudio 的错误。
因此您的 shell 的 $PATH 值与 RStudio 的不同(在开始时,或通过您的 'dot' 文件)。结果路径显示:/home/$USER/.local/bin
是私有路径,不是系统路径。
我认为 RStudio 很荣幸 ~/bin
所以也许可以创建它并添加一个软链接。
另一方面,在我的机器上(Ubuntu 20.04,R 4.0.2,RStudio 1.4.781)我看到
R> system("echo $PATH")
/home/edd/.local/bin:/home/edd/bin:/usr/local/sbin:/usr/local/bin:\
/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:\
/usr/lib/rstudio/bin/postback
R>
这不是 system()
的侥幸,因为 Sys.getenv("PATH")
显示相同。