Tonysan’s blog

ほぼ自分のための Tips 集


刺され!

言語 プログラミングのための環境構築

Git

Git のインストール。忘れずに config。

sudo apt install git
git config --global user.name (ユーザー名)
git config --global user.email (メールアドレス)

etckeeper

Git を入れたらこれ入れて、Ubuntu の設定ファイルのバージョン管理。

sudo apt install etckeeper

あとは勝手に/etc/ 内部 の変更履歴が保存されていく。

Ruby 環境構築

rbenv - Ruby バージョン管理をインストール

ruby-build で Ruby をビルドするためのツール・ライブラリのインストール。

sudo apt install autoconf patch build-essential rustc libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libgmp-dev libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev uuid-dev

rbenv、ruby-build をインストール。

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build

rbenv をロードするようにシェルに設定する。

echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bashrc

シェルの再起動。

exec $SHELL -l

Rubyのインストール

インストールできる安定バージョンを確認。

rbenv install -l

Ruby をインストール(例 3.2.3)

rbenv install 3.2.3

インストール後、通常使う Ruby のバージョンとして設定する。

rbenv global 3.2.3

バージョンの確認。

ruby -v

Rubyの更新があったとき

Ruby に修正や更新などバージョンアップがあったときは rbenv plugin を update して、

git -C "$(rbenv root)"/plugins/ruby-build pull

最新のバージョンをインストールする。

Python 環境構築

Python ビルドツール・ライブラリのインストール

Ruby のと重なっているのもあるけど、公式通りで。

sudo apt install build-essential libbz2-dev libdb-dev \
libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
libncursesw5-dev libsqlite3-dev libssl-dev \
zlib1g-dev uuid-dev tk-dev

ここからは、pyenv でいろんな Python をインストールして、venv でライブラリの依存関係をワークスペース毎に分離して、パッケージの管理を Poetry で行えるようにそれぞれインストールしていきます。

pyenv インストール

pyenv : https://github.com/pyenv/pyenv インストール。

git clone https://github.com/pyenv/pyenv.git ~/.pyenv

~/.bashrc に pyenv を追加。

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

~/.profile か、~/.bash_profile または ~/.bash_login が存在していればそれに、なかったら ~/.profile に pyenv を追加。by 公式

echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init -)"' >> ~/.profile

他はなし。

シェルを再起動する。

exec $SHELL -l

Python インストール

インストールできる Python のバージョンを確認して、
Python 3.12.2 をインストールしたら、
vnev で分離環境作成。

pyenv install -l
pyenv install 3.12.2
~/.pyenv/versions/3.12.2/bin/python -m venv .venv

で、VS Code で環境変更は Pythonインタプリターに .venv/bin/python を選択。

Poetry インストール

Poetry : https://python-poetry.org/ インストールしてパス通す。

インストールに必要な curlUbuntu に初めから入ってないのでここでインストール。

sudo apt install curl

22.04LTS のリポジトリに入ってる curl のバージョンは低いですけどセキュリティアップデートとかは Ubuntu 開発チームがきっちり更新している、サポート期間中は更新されていくのでこれで。
2024/02/20 時点で、Version: 7.81.0-1ubuntu1.15
snap で例えば、sudo snap install --edge curl で最新の 8.6.0 なんか入れられますけど、--classic オプションが付けられないので入れません。

curl -sSL https://install.python-poetry.org | python3 -
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
exec $SHELL -l

java 環境構築

SDKMAN でバージョン管理

SDKMAN : https://sdkman.io/ インストールしてパス通し、バージョン確認。

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

java インストール

インストールできる java の種類とバージョンを確認。

sdk list java

とりあえず無指定で java を入れて、
セットされた java を確認。

sdk install java
sdk current java
Using java version 21.0.2-tem

デフォルトでは Temurin の 21.0.2 が入りました。2024/02/10。

GO をインストール

https://go.dev/ にて最新バージョンを確認。go1.22.0 (released 2024-02-06)
curl で取得(ダウンロード)して、/usr/local 以下に解凍。
パスを設定して、バージョンを確認できたら OK。

curl -LO https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz
echo export PATH=$PATH:/usr/local/go/bin >> ~/.profile
exec $SHELL -l
go version

次回からは、先に

sudo rm -rf /usr/local/go

で、以前のファイルを削除してから作業する。

TypeScript 環境構築

nvm インストール

nvm : https://github.com/nvm-sh/nvm でバージョン管理するのでインストール、シェルに追加。バージョン確認まで。
v0.39.7 released this Dec 6, 2023

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
echo 'export NVM_DIR="$HOME/.nvm"' >> ~/.bashrc
exec $SHELL -l
nvm --version

Node.js の最新の LTS 版をインストール

これに npm も含まれる。

nvm install --lts

インストールされた各々のバージョン確認。

node -v
npm -v

お疲れ様でしたぁ(汗