tag:crieit.net,2005:https://crieit.net/tags/Volta/feed 「Volta」の記事 - Crieit Crieitでタグ「Volta」に投稿された最近の記事 2021-08-09T17:46:51+09:00 https://crieit.net/tags/Volta/feed tag:crieit.net,2005:PublicArticle/17580 2021-08-09T17:46:21+09:00 2021-08-09T17:46:51+09:00 https://crieit.net/posts/bye-nodist-hello-volta-20210809 Node.js のバージョン管理として Volta を使う <p>Nodist から脱却する方法第二弾。</p> <h2 id="経緯"><a href="#%E7%B5%8C%E7%B7%AF">経緯</a></h2> <p><a href="https://crieit.net/posts/build-enviroment-node-version-switch-by-docker-20210706">Docker で Node.js のバージョン切替環境を構築する</a>で一度 Docker 環境上に Node.js 環境を作りましたが、メモリ領域の不足で遅かったり Browsersync との連動が面倒だったりしたので、やはり一枚レイヤーを挟まずホスト側でストレートに構築する方法も模索すべきか……と思い至ったので Volta を試すことにしました。</p> <h2 id="Nodist のアンインストール"><a href="#Nodist+%E3%81%AE%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">Nodist のアンインストール</a></h2> <p>今回はPCに直接インストールする形なのでモロに Nodist のバッティングします。そこで、まずは Nodist をアンインストールします。</p> <h3 id="1. Nodist のアンインストール"><a href="#1.+Nodist+%E3%81%AE%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">1. Nodist のアンインストール</a></h3> <p>まずはアンインストール。コンパネからでも Nodist のインストールフォルダにある <code>uninstall.exe</code> を実行するのでもどちらでも。</p> <p><a href="https://crieit.now.sh/upload_images/4001730b70c2c2a0220da069b81e7e2f6110eb10f0b73.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/4001730b70c2c2a0220da069b81e7e2f6110eb10f0b73.jpg?mw=700" alt="Nodist の uninstall.exe" /></a></p> <h3 id="2. フォルダの削除"><a href="#2.+%E3%83%95%E3%82%A9%E3%83%AB%E3%83%80%E3%81%AE%E5%89%8A%E9%99%A4">2. フォルダの削除</a></h3> <p><a href="https://crieit.now.sh/upload_images/317374d2a921262dbb356bf0b5704a776110eb19bea1e.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/317374d2a921262dbb356bf0b5704a776110eb19bea1e.jpg?mw=700" alt="Nodist の残骸のフォルダやファイル" /></a></p> <p>アンインストールしても Nodist のフォルダやら残骸がインストールフォルダ (デフォルトならば <code>C:\Program Files (x86)\Nodist\</code>) に残るので、これを強制削除。</p> <h3 id="3. .npmrc の削除"><a href="#3.+.npmrc+%E3%81%AE%E5%89%8A%E9%99%A4">3. .npmrc の削除</a></h3> <p>使用ユーザのフォルダ直下に <code>.npmrc</code> (<code>C:\Users\<USERNAME>\.npmrc</code>) が残るのでこれを削除……と言いたいところですが、私の場合は存在していませんでした。</p> <p>そのため、ここはパス。</p> <h3 id="4. npm-cache の削除"><a href="#4.+npm-cache+%E3%81%AE%E5%89%8A%E9%99%A4">4. npm-cache の削除</a></h3> <p><a href="https://crieit.now.sh/upload_images/930f41ed08e28a2b6c613b2cb078b7516110eb22e4ef6.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/930f41ed08e28a2b6c613b2cb078b7516110eb22e4ef6.jpg?mw=700" alt="npm-cache の削除" /></a></p> <p>使用ユーザの<code>AppData\Roaming</code> の下に <code>npm-cache</code> (<code>C:\Users\<USERNAME>\AppData\Roaming\npm-cache</code>) が残るのでこれを削除。</p> <h3 id="5. 環境変数の確認"><a href="#5.+%E7%92%B0%E5%A2%83%E5%A4%89%E6%95%B0%E3%81%AE%E7%A2%BA%E8%AA%8D">5. 環境変数の確認</a></h3> <p><a href="https://crieit.now.sh/upload_images/d458bc9076579814d02a72128e8c8ff36110eb2c1b3d2.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d458bc9076579814d02a72128e8c8ff36110eb2c1b3d2.jpg?mw=700" alt="環境変数" /></a></p> <p>環境変数に Nodist の Node.js へのパスが残っている場合はこれを削除……と言いたいところですが、私の場合は存在していませんでした。</p> <p>そのため、ここもパス。</p> <h2 id="Volta のインストール"><a href="#Volta+%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">Volta のインストール</a></h2> <p>Nodist を削除したら、 Volta をインストールします。</p> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://github.com/volta-cli/volta/releases">Releases · volta-cli/volta · GitHub</a></li> </ul> <p><a href="https://crieit.now.sh/upload_images/9f40ac9ec460dcb4945615229543b7306110eb3533ae0.jpg" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9f40ac9ec460dcb4945615229543b7306110eb3533ae0.jpg?mw=700" alt="Volta のインストーラ" /></a></p> <p>記事執筆時は <code>1.0.4</code> が最新でした。この <code>msi</code> をダウンロード。後は実行してインストール。</p> <pre><code class="bash">>volta -v 1.0.4 </code></pre> <p>入りました。</p> <pre><code class="bash">>volta install [email protected] success: installed and set [email protected] (with [email protected]) as default 9 >node -v v16.3.0 >npm -v 7.15.1 </code></pre> <p>続いて適当なバージョンの Node.js をインストールします。 npm も入りました。良い感じですね。</p> <pre><code class="bash">>volta install yarn success: installed and set [email protected] as default 0 >yarn -v 1.22.11 </code></pre> <p>yarn も入れます。</p> <p>とあるプロジェクトで、 Node.js のバージョンを14系で固定してみます。</p> <pre><code class="bash">> volta pin node@14 success: pinned [email protected] (with [email protected]) in package.json </code></pre> <p>OK.</p> <pre><code class="json"> "volta": { "node": "14.17.4" } </code></pre> <p><code>package.json</code> に Volta 使用時の Node.js のバージョンが追記されました。これでプロジェクトごとにバージョンを切り替えられるのは良いですね。</p> <h2 id="参考"><a href="#%E5%8F%82%E8%80%83">参考</a></h2> <h3 id="Nodist アンインストール"><a href="#Nodist+%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB">Nodist アンインストール</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/ymasaoka/articles/note-uninstall-nodish-windows">2020 年ではもう使えない Nodist はアンインストールする (Windows)</a></li> </ul> <h3 id="Volta"><a href="#Volta">Volta</a></h3> <ul> <li><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/naoyukik/articles/1b861167479d6adfa32f">Nodeのバージョン管理ツールVOLTA⚡</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://dev.classmethod.jp/articles/node-version-volta/">Node.js のバージョン管理ツール Volta を使ってみる | DevelopersIO</a></li> <li><a target="_blank" rel="nofollow noopener" href="https://zenn.dev/taichifukumoto/articles/how-to-use-volta">Node.jsのバージョン管理にVoltaを推したい</a></li> </ul> arm-band