2012-03-20 18 views

回答

9

不,你需要安裝Rtools和編譯二進制包結尾於.zip源包結尾於.tar.gz。即使只包含R代碼的包,也需要包/構建「編譯」步驟。

嘗試網絡上關於在Windows上構建包的許多教程之一。

或者,使用真棒win-builder網站爲您創建軟件包。

2

我在Linux機器上開發我的R軟件包 - 如果你也這樣做,這就是我所做的,它可以幫助你。

爲了使R的.zip,我基本上'安裝'到臨時目錄並將其壓縮。該.zip文件可以在Windows上使用。

# make the package: 
R CMD build my_package 

# make tmp directory 
mkdir tmp 

# install the package to temp directory 
R CMD INSTALL -l tmp my_package.tar.gz 

# zip it up 
cd tmp 
zip -r my_package.zip my_package 

# move your zip file back out and delete tmp directory 
mv my_package.zip ../ 
cd ../ 
rm -rf tmp 

我把這一切都變成一個makefile,便於讓我可以輸入(例如)make doc生成文檔(因爲我用roxygen2),make packageR CMD buildmake zip到名爲.tar.gz轉換成.zip等

+0

此方法僅適用於編譯了C/C++/Fortran代碼,因此它不會在mclust上工作,並且通常不鼓勵R列表上的線程可以看到它。 – 2012-03-20 12:35:36

+0

哦,我忘了提及我只有R代碼(我想它不適用於任何編譯的代碼?)。當我幾個月前遇到與OP相同的困境時,我在R郵件列表存檔中看起來儘可能的難以理解,並且只能找到一個相關的線程,其中該人員執行了'R CMD INSTALL',然後是'zip'這就是爲什麼我將這一點應用到了我的工作流程中。我總是樂於改進這一點,現在將研究Rtools,除了我的要求是在Linux下構建Windows .zip,而Rtools似乎是在Windows下構建的? – 2012-03-20 23:18:20

+0

如果你的代碼不在你的手中,那麼沒有什麼比贏得建設者更好:) – 2012-03-20 23:20:35