我正在尝试为一些工作人员提供一个闪亮的应用程序,但我不想为所有人手动更改工作目录。我曾计划使用rstudioapi
函数getActiveDocumentContext()
,但仅在应用程序是来自rstudio的午餐并且我使用R控制台时才有效,因为该应用程序部署有.bat文件(在此页面中进行了描述) http://rstudio-pubs-static.s3.amazonaws.com/3269_a6682dfda37e411fb5e0e6699495cdc4.html)。我在这里尝试了很多答案(Rscript: Determine path of the executing script),但是都没有用,而且大多数都无法理解,因此无法“修复主题”。
答案 0 :(得分:1)
正如您所链接的SO问题所指出的那样,有很多解决方案,我最喜欢使用rprojroot
(我认为这可能是最简单的)。使用简单的有光泽的test_app示例,您需要在运行它。R:
library(shiny)
library(rprojroot)
folder_address = dirname(thisfile())
runApp(folder_address, launch.browser=TRUE)
我在Mac上使用下面的启动脚本(test.command
)对其进行了测试,并且可以在任何具有test_app文件夹的地方使用它:
#! /bin/bash
PWD="`dirname \"$0\"`"
cd "${PWD}"
Rscript "run.R"
在Windows计算机上,您需要在test.bat
中指定Rscript.exe(或R.exe)的路径:
"C:\Program Files\R\R-3.5.1\bin\Rscript.exe" "run.R"