26
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バージョン管理ツール asdf 使ってみた

Last updated at Posted at 2023-04-06

概要

バージョン管理ツールにasdfを導入してみました。
代わりに rbenv, nvm を消しました。
どんな感じで導入したかのメモです。

2024/12/15追記:
パフォーマンス・セキュリティーの観点から、
バージョン管理ツール asdf → mise に移行する記事を作成しました。

環境

  • Mac M1
  • MacOS: 13.0
  • シェルはzshを利用

本題

では、 rbenv, nvm を消して asdf を入れていきます。

rbenv の削除

今までありがとう rbenv :pray:

やったこと

  1. ~/.zshrc から下記の行を削除
    ~/.zshrc
    - eval "$(rbenv init -)"
    
  2. 下記を実行
    rm -rf "$(rbenv root)"
    
  3. homebrew 経由で入れていたので下記を実行
    brew uninstall rbenv
    

nvm の削除

今までありがとう nvm :pray:

やったこと

  1. 下記を実行
    rm -rf "$NVM_DIR"
    
  2. ~/.zshrc から下記の行を削除
    ~/.zshrc
    - export NVM_DIR="$HOME/.nvm"
    - [ -s "/opt/homebrew/opt/nvm/nvm.sh" ] && . "/opt/homebrew/opt/nvm/nvm.sh"  # This loads nvm
    - [ -s "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm" ] && . "/opt/homebrew/opt/nvm/etc/bash_completion.d/nvm"  # This loads nvm bash_completion
    

asdf を導入

消したからには入れないといけない :fire:

やったこと

  1. 依存関係をインストール
    brew install coreutils curl git
    
  2. asdfをインストール
    brew install asdf
    
  3. 下記を実行(zsh と homebrew 利用)
    echo -e "\n. $(brew --prefix asdf)/libexec/asdf.sh" >> ${ZDOTDIR:-~}/.zshrc
    

asdf で ruby のバージョン管理

必要なバージョンのrubyをインストールしてみる

やったこと

  1. 下記を実行
    asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
    
  2. ruby 最新安定バージョンの確認
    asdf latest ruby
    
  3. 必要なバージョンをインストール(もうすぐEOFだけど、この時は2.7.5が必要だった)
    asdf install ruby 2.7.5
    
  4. 開発中のプロジェクトのディレクトリに移動して下記を実行
    asdf local ruby 2.7.5
    
  5. ↑を実行すると、 .tool-versions というファイルが作成される
    • 多分これをコミットする必要があるので、複数名で開発しているプロジェクトであれば、 asdf の導入自体を相談する必要がありそう
    .tool-versions
    ruby 2.7.5
    
  6. つまり、 .ruby-version はもういらないので消す :hand_splayed:

asdf で Node.js のバージョン管理

必要なバージョンのNode.jsをインストールしてみる

やったこと

  1. 依存関係のインストール
    brew install gpg gawk
    
  2. 下記を実行
    asdf plugin add nodejs https://github.com/asdf-vm/asdf-nodejs.git
    
  3. 必要なバージョンをインストール(この時は14.17.3が必要だった)
    asdf install nodejs 14.17.3
    
  4. 開発中のプロジェクトのリポジトリ内で下記を実行
    asdf local nodejs 14.17.3
    
  5. ↑を実行すると、 .tool-versions というファイルが作成される
    .tool-versions
    nodejs 14.7.3
    
  6. 開発中のプロジェクトのリポジトリ内で下記を実行
    npm install
    

おわりに

いろんな言語のいろんなバージョン管理ツールを入れなくてよくなったので、
「このPCはrubyのバージョン管理ツールって何使ってたっけ・・・」みたいな悩みとおさらばできそうでよいと思いました :thumbsup:

.tool-versions というファイルをコミットする必要が出てくるので、
複数名で開発している場合は、まずプロジェクトのメンバーにasdf導入の相談が必要ですね。
そんなに色々バージョン管理する必要がないのであれば、わざわざ乗り換えなくてもいいような気もします。

参考URL

26
17
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
26
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?