11

我有兴趣为我正在创作的名为 Slidify 的 R 包提供命令行界面。它使用Rscript并且我认为这将使它成为跨平台的。脚本存储在子目录中inst/slidify。为了使用任何目录中的脚本,我.bash_profile像在 Mac 上一样将其路径添加到 my 中。

我的问题是

  1. 我应该如何以自动化的跨平台方式处理脚本的安装?
  2. 如何确保在此过程中保留文件权限?
  3. 脚本的 shebang 行应该是什么?我目前正在使用

    #!/usr/bin/Rscript --vanilla --slave

我将不胜感激有关如何处理此问题的指针以及已经执行此操作的 R 包的任何示例。只是为了确保,我清楚这将如何工作,用户只需从命令行slides.Rmd运行即可生成幻灯片。slidify generate slides.Rmd

更新:

这是我从命令行在 Mac 上安装它的方法。我使用 37 个信号的优秀库来创建脚本。

echo "$(path/to/clidir/slidify init -)" >> ~/.bash_profile exec bash

两个后续问题

  1. 我可以将这些命令打包成 R 函数install_slidify_cli吗?
  2. 如何为 Windows 用户镜像这些命令?
4

1 回答 1

7

Lovin'slidify所以很乐意提供帮助。

但简而言之,你不能。

R 包根本无法安装在$R_HOME所选的库文件夹之外。将脚本放入包中,并告诉用户复制它。如果有更好的方法,带有前身/替代品的更小的包装Rscript将长期使用它,并且roxygen/roxygen2也将运送一些东西。

于 2012-11-17T21:03:18.460 回答