2012-11-17 46 views
9

我有興趣爲我正在創作的名爲Slidify的R包提供命令行界面。它使用Rscript,我認爲這會使其跨平臺。腳本存儲在子目錄inst/slidify中。爲了使用任何目錄下的腳本,我將它的路徑添加到了我的.bash_profile,就像我在Mac上一樣。包含帶R包的命令行腳本

我的問題是

  1. 我應該如何處理系統中的腳本的自動化跨平臺的方式?
  2. 如何確保在此過程中保留文件權限?
  3. 腳本的shebang行應該是什麼?我目前使用

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

我希望如何處理這個指針和R封裝已經做到這一點的任何例子。爲了確保,我很清楚這是如何工作的,用戶只需從命令行運行slidify generate slides.Rmd即可生成slides.Rmd的幻燈片。

UPDATE:

這裏是我在命令行中在Mac上安裝它。我使用37個信號的優秀sub庫創建腳本。

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

兩個後續問題

  1. 我可以將這些命令打包成R功能install_slidify_cli
  2. 如何爲Windows用戶鏡像這些命令?

回答

7

Lovin'slidify所以很樂意提供幫助。

但總之,你不能。

R軟件包根本無法安裝在$R_HOME或選定的庫文件夾之外。在軟件包中發送腳本,並告訴用戶將其複製。如果有更好的方法,出littler包與前任/替代Rscript將長期使用它,而roxygen/roxygen2也將有東西。

+0

我相信'pgfSweave'用來提供這樣的腳本,但[顯然](https://github.com/cameronbracken/pgfSweave/commit/cea3c877827bc1a7b7b4e47548ee43fc4b75c814)他們後來認爲它違反了規則自動安裝它。 – baptiste

+2

他們這樣做了,而且很糟糕*。當時我還在運行'cran2deb'自動編譯器,它給了我適合。總牛仔風格,完全瘋狂。幸運的是有人告訴他們:) –

+0

謝謝@DirkEddelbuettel我已經更新了我的問題,詳細介紹瞭如何從命令行安裝cli。對於您提出的兩個後續問題,我將不勝感激。 – Ramnath