Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9104

anyenvとnodenvでNode.jsのバージョンを管理

$
0
0
はじめに 自身のメモとして、本記事ではmacOSでanyenvとnodenvを活用し、Node.jsを一つのPCで複数バージョン使える環境の構築手順を記載します. Node.jsのバージョン管理をしたい理由 Node.jsを利用した開発において、複数のプロジェクトを同一PCで開発する場合、異なるバージョンのNode.jsを利用する必要性が出てきます.anyenvを利用することで、ディレクトリごとに異なったNode.jsのバージョンの利用が出来るようになります. 出てくる登場人物 Homebrew Homebrew(ほーむぶるー)とは、macOS上で動作するパッケージ管理システムです.パッケージ管理システムとはパッケージをインストールしたりアンインストールしたい出来るシステムのことを指します.Homebrewを利用することで、Macのターミナルから簡単にパッケージの追加・削除を行うことが出来ます. anyenv 開発環境によって同一のプログラミング言語であっても、使用するバージョンがプロジェクトごとに異なる場合があります、プロジェクトごとに異なるバージョンを使いたいというニーズを解決するために、プログラミング言語のバージョンを切り替えられるツールを利用します.Rubyのバージョン管理をするrbenv、Pythonのバージョン管理をするpyenv、Goのバージョン管理をするgoenvなど、プログラミング言語ごとに、**envといった名称でバージョンを切り替えられるツールが存在します.anyenv(えにーえんぶ)は、これらを包括的に管理できます.本記事では、Node.jsのバージョン管理の手順を記載します現時点で利用しなくても今後利用する可能性があるため、入れておくと良いツールです. nodenv nodenv(のーどえんぶ)はNode.jsのバージョン管理ツールです.1つのPCに複数のNode.jsのバージョンを切り替えて使うことが出来ます.本記事ではanyenv上に、nodenvの環境を構築します. Homebrewのセットアップ Homebrewの公式サイトにアクセスします.公式サイトに記載のスクリプトをコピーします. macOSのターミナルを開き、コピーしたスクリプトをペーストして、Homebrewをインストールします. $ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" インストールが正しくされたか確認します. $ brew -v Homebrew 3.1.12 Homebrew/homebrew-core (git revision 81f5f69157; last commit 2021-06-15) Homebrew/homebrew-cask (git revision db78a2b6e2; last commit 2021-06-15) anyenvのセットアップ Homebrewを利用しanyenvをインストールします. $ brew install anyenv インストールされたか確認します. $ anyenv -v anyenv 1.1.3 シェルの設定ファイルにeval "$(anyenv init -)"を追加します. $ echo 'eval "$(anyenv init -)"' >> ~/.zshrc シェルを再読み込みし変更した設定を読み込みます. $ exec $SHELL -l 下記のようなエラーメッセージが出る場合があります. ANYENV_DEFINITION_ROOT(~/.config/anyenv/anyenv-install) doesn't exist. You can initialize it by: > anyenv install --init 下記を実行し、manifest directory を作成します.~/.config/anyenv/anyenv-installにマニフェストディレクトリが作成されます.anyenv利用するのに必要な設定ファイルだと思ってください. $ anyenv install --init あらためてシェルを再読み込みし変更した設定を読み込みます. $ exec $SHELL -l これでanyenvの設定は完了です.最後にanyenvで利用できるenv系のツールを下記で確認します.Node.js以外に、Ruby, Go、Swiftなど様々なツールのバージョン管理ができることがわかります.今回は、下記に記載のあるNode.jsのバージョン管理が出来るnodenvをインストールします. $ anyenv install -l Renv crenv denv erlenv exenv goenv hsenv jenv jlenv luaenv nodenv phpenv plenv pyenv rbenv sbtenv scalaenv swiftenv tfenv nodenvのセットアップ Node.jsのバージョン管理が出来るnodenvをanyenv経由でインストールします. $ anyenv install nodenv あらためてシェルを再読み込みし変更した設定を読み込みます. $ exec $SHELL -l anyenvとnodenv用のプラグインをセットアップできます. anyenv-update anyenvプラグインでnodenvを含めたenv系環境をまとめてアップデートできます node-default-packages nodenvプラグインでnpmインストール時にデフォルトでインストールしておくパッケージを指定できます. $ mkdir -p $(anyenv root)/plugins $ git clone https://github.com/znz/anyenv-update.git $(anyenv root)/plugins/anyenv-update $ mkdir -p "$(nodenv root)"/plugins $ git clone https://github.com/nodenv/nodenv-default-packages.git "$(nodenv root)/plugins/nodenv-default-packages" $ touch $(nodenv root)/default-packages $(nodenv root)/default-packagesを作成し、npmインストール時にデフォルトで入れるパッケージを指定する. yarn typescript ts-node typesync これで、nodenvの設定も完了です. 最後に各設定ファイルの場所を確認しておきます.関連するファイルは下記の二箇所にあります. $ ls ~/.anyenv $ ls ~/.config/anyenv Node.jsのセットアップ インストール可能なnodeのバージョンを確認します. $ nodenv install -l Nodeをバージョン指定でインストールします. $ nodenv install 16.3.0 デフォルトで利用するNode.jsのバージョンが設定されていないと下記のようなエラーメッセージが出ます.デフォルトで利用するNode.jsのバージョンをnodenv global <version>で指定することでエラーメッセージは消えます. $ node -v nodenv: node: command not found The `node' command exists in these Node versions: 16.3.0 デフォルで利用するNodeのバージョンを指定します. $ nodenv global 16.3.0 $ node -v 任意のディレクトリで使用するNodeのバージョを指定する場合は下記のようになります.下記では、まだインストールされていない、14.4.0をわざとして指定します.14.4.0はインストールしていないのでエラーが出ます. $ nodenv local 14.4.0 nodenv: version `16.0.0' not installed 14.4.0をインストールします. $ nodenv install 14.4.0 $ node -v 14.4.0 nodenv localを利用することで、今いるディレクトリ内において指定したバージョンのNode.jsが利用できるようになります.下記の例ですと~/tempではnodeの14.4.0を利用するよう設定しています.nodenv localを利用すると、.node-versionというファイルが作成され、その中に利用するバージョンが記載されます. $ pwd ~/temp $ nodenv local 14.4.0 $ ls ./ ../ .node-version $ cat .node-version 14.4.0 動作確認としてnodeのコマンドが実行出来るか確かめます. $ node  ✔  14.4.0   at 09:14:33  Welcome to Node.js v14.4.0. Type ".help" for more information. > 1+1 2 > console.log('hello'); hello anyenv updateのコマンドをanyenvのプラグインとして追加しました.これを利用すると、Nodeの最新版を取得することが出来ます.実行しないと、nodenv install -lでインストール可能な最新のリストを取得できないので、Nodeを最新版にアップデートするときはanyenv updateを実行します. $ anyenv update おわりに 本記事ではmacOSでanyenvとnodenvを活用し、Node.jsを一つのPCで複数バージョン使える環境の構築手順を記載しました. 参考 https://www.to-r.net/media/anyenv/ https://qiita.com/kyosuke5_20/items/eece817eb283fc9d214f https://qiita.com/kyosuke5_20/items/220d62e7007ae51dbb52 https://zenn.dev/ryuu/articles/use-anyversions https://qiita.com/SUZUKI_Masaya/items/51366be1510f7fde7cdf https://www.startappdevfrom35.com/anyenv_install/ https://shinkufencer.hateblo.jp/entry/2018/11/22/233000

Viewing all articles
Browse latest Browse all 9104

Latest Images

Trending Articles