3

依存関係のバージョンを処理するためにpackratを使用してパッケージを作成しました。

@nyzls65c:~/private/research$ tree -L 1 -a sp.util  
sp.util                                                     
|-- .Rbuildignore                                           
|-- .Rhistory                                               
|-- .Rprofile                                               
|-- .Rproj.user                                             
|-- DESCRIPTION                                             
|-- NAMESPACE                                               
|-- R                                                       
|-- Read-and-delete-me                                      
|-- man                                                     
|-- packrat                                                 
|-- sp.util.Rproj 

Rパッケージ パスから開始する~/private/research/sp.utilと、packrat がライブラリを扱っていることがわかります。

@nyzls65c:~/private/research/sp.util$ Rscript -e ".libPaths()"                       
WARNING: ignoring environment value of R_HOME                                                
[1] "~/private/research/sp.util/packrat/lib/x86_64-redhat-linux-gnu/3.3.0"
[2] "~/private/research/sp.util/packrat/lib-ext"                          
[3] "~/private/research/sp.util/packrat/lib-R"

他の場所から始めるとき

@nyzls65c:~/private/research$ Rscript -e ".libPaths()"        
WARNING: ignoring environment value of R_HOME                         
NULL                                                                  
[1] "~/R/x86_64-redhat-linux-gnu-library/3.3"      
[2] "/usr/lib64/R/library"                                            
[3] "/usr/share/R/library"                                            

生成したファイルをパッケージ ディレクトリにpackratロードし、 ..Rprofile.libPaths()

問題はlibrary(sp.util)、正しいディレクトリにいない限り、間違ったパッケージがロードされることです。sessionInfo() (私は内側と外側から始めながらやってテストしましたが/sp.util、非常に論理的にパッケージDependsは同じではありません)

私がやりたいことは、を使用しRscript /path/script.r、ロードsp.utilscript.r、正しい (つまり、packrat ローカルのもの) 依存関係をロードすることです。特定のパスから Rscript を開始する必要はありません。

libPaths()それを行うために自分自身を設定する必要がありR_LIB_USERますか?

packratそして、上記を実行するための実行可能なオプションでさえある複数のパッケージが必要だと言いますか?

4

0 に答える 0