0

私は長い間次のことをしていましたが、うまくいかないようです。

私がやろうとしているのは、R スクリプトが実行されると、Ubuntu EC2 インスタンスを自動的にシャットダウンすることです。

そのために/etc/rc.local、次のような行がある場所を使用しています

Rscript /home/ubuntu/shutDown.r > /home/down.log 2>&1

スクリプトは実行されますが、ログは表示されます

Error in library(DBI) : there is no package called 'DBI'
Execution halted

DBIによってロードされたライブラリですが、次のようなコマンドラインを使用してスクリプトを実行すると、パッケージshutDown.Rがないことが問題ではないことはわかっていますDBI

Rscript shutDown.r

すべてが機能します。走る時も

sudo sh /etc/init.d/rc.local start

できます。

ブート時にスクリプトがライブラリをロードするのを妨げているのは何ですか? 削除しようとするDBIと、次のライブラリにエラーが表示されます。したがって、起動時にスクリプトがライブラリを検索する方法で何かが起こっていることは間違いありません。これを解決する方法がわからないので、誰かがヒントを提供できれば、本当に感謝しています。

どうもありがとう!

4

1 に答える 1

1

ローカルの R パッケージを/usr/local/lib/R/site-library--- とにかく既定の場所 --- にインストールすると、既定で検出されます。DBI の場合r-cran-dbi、別のデフォルト ディレクトリにインストールすることもできます。

これは、私が 10 年近くお世話になっている Debian / Ubuntu パッケージのデフォルトです。そして、それは機能します。それ以外の場合は、明示的なライブラリ ロケーション引数を に使用しlibrary()ます。

于 2013-01-03T04:35:21.540 に答える