1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ubuntu24にコピペでさくっとRの環境を作る

Last updated at Posted at 2024-11-03

新しいOS、新しい環境でスタート!まっさらな状態で気持ちいい。
で、Rの環境を作らなくっちゃということで、コピペして作る用のメモです。

まずは最新版のR

まずは最新版のRのインストールです。リポジトリ追加してインストールっていう感じです。r-baseインストールする際に--no-install-recommendsオプション付けるといいよっていう話あるんですが、それだとコンパイラとかインストールされなかったりするので、そのオプションはつけてないです。そのあたりは好き好きってことで。

最新Rのインストール
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | sudo tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
sudo add-apt-repository -y "deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
sudo apt -y install r-base

パッケージのインストール

絶対に使うであろう、またはたぶん使うであろう、またはきっと使うであろうパッケージの一覧は作っておくとなんとなく便利なので作っておきます。このあたりは本当に自分好みかなと思います。

インストールしたいパッケージの一覧
INSTALL_PACKGES=$(cat <<EOF
dplyr
tidyr
stringr
data.table
lubridate
purrr
openxlsx
ggplot2
ggrepel
viridis
glue
scales
fst
cowplot
pdftools
rmarkdown
kableExtra
rvest
httr
EOF
)

Rをインストールしたてほやほや状態だとパッケージインストール先ディレクトリがない状態なので、最初に強制的に作成しちゃっています。あと、エラーが出たときにあとで分かるようにinstall_packages.logにメッセージを書き出すようにしています。

パッケージのインストール
cat <<EOF | R --no-save
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)
EOF
cat <<EOF | R --no-save 2>&1 | tee install_packages.log
install.packages(c("$(echo $INSTALL_PACKGES | sed -r 's/ /","/g')"))
EOF

エラーを確認してみるとOS側でのライブラリが足りないエラーが出ていますので、足りないものをインストールします。

エラーの確認
cat install_packages.log |grep ERROR

さっき出力したinstall_packages.logから必要だよって求められている行を抽出して、その結果をapt installに渡してインストールしちゃいます。

ライブラリーのインストール
cat install_packages.log |egrep 'deb:.*Ubuntu' | sed -r 's/^.+: ([^ ]+) .+/\1/' | tr '\n' ' ' | xargs sudo apt install -y

エラーがでなくなるまで「パッケージのインストール」「エラーの確認」「ライブラリーのインストール」を繰り返します。
エラーがでなくなったら、念のためテストします。これでエラーがでなければOKです。

パッケージがインストールできてるかのテスト
cat <<EOF | R --no-save
$(echo $INSTALL_PACKGES | tr ' ' '\n' | sed -r 's/^(.+)$/library("\1")/')
EOF

パッケージのインストール部分が何か面倒なので一気にできるようにしてみた。

パッケージインストールして、エラーの確認して、ライブラリーのインストールして、って繰り返すのって、さくっとコピペという感じがしないので、まとめてみました。コピペして放置しておけば完成している予定です。たぶん。(追伸)ダメでした。途中でsudo apt installを実行しているんですが、そのたびにパスワード聞かれちゃうようです。残念。

パッケージのインストール
cat <<EOF | R --no-save
dir.create(Sys.getenv("R_LIBS_USER"), recursive = TRUE)
EOF
while true
do
cat <<EOF | R --no-save 2>&1 | tee install_packages.log
install.packages(c("$(echo $INSTALL_PACKGES | sed -r 's/ /\",\"/g')"))
EOF
cat install_packages.log | egrep 'deb:.*Ubuntu' | sed -r 's/^.+: ([^ ]+) .+/\1/' | tr '\n' ' ' | xargs sudo apt install -y
[ -z "$(cat install_packages.log |grep ERROR)" ] && break;
done
cat <<EOF | R --no-save
$(echo $INSTALL_PACKGES | tr ' ' '\n' | sed -r 's/^(.+)$/library("\1")/')
EOF

RStudio

個人的にはあんまり RStudio は使わないんですがインストールしておきます。ダウンロードサイトから、.debファイルをリンクを抽出して、最新であろう最後の行だけに絞って、それをダウンロードしてインストールするという流れになっています。

RStudioのインストール
#Rstudio
cd /tmp
echo "https://posit.co/download/rstudio-desktop/" | wget -i - -O - |egrep 'https://[^"]+rstudio.*\.deb' | tail -1 | sed -r 's/^.*href="([^"]+)".*$/\1/' | wget -i - -O rstudio.deb
sudo apt install -y ./rstudio.deb

VS Code

テキストエディターは開発するしないに関係なく、なくてはならない必須アイテムなのでインストールします。Previous release versionsのページにURLが公開されているので適当なバージョンをダウンロードして最新にアップグレードしています。

vscodeのインストール
cd /tmp
wget https://update.code.visualstudio.com/1.95.1/linux-deb-x64/stable -O code.deb 
sudo apt install -y ./code.deb
sudo apt update
sudo apt install --only-upgrade code

はい、終わりです。

はい、終わりです。思ったよりも簡単に構築できました。
めでたしめでたしです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?