私たちの 以前の翻訳我々は、トピックを継続し、Node.jsのとNPMのバージョン15とNVMを設定する方法を教えてすることを決め、今日ので、Node.jsのバージョンの15の新機能については非常によく、Habrの読者によって受信された7 。
Node.jsバージョン15は2020年10月20日にリリースされました。npm7と多くの新機能が付属しています。あなたはすでに新しいバージョンを試しましたか?
しかし、ちょっと待ってください!Node.js15とnpm7には、重大な変更が含まれています。アップグレードは既存のプロジェクトを傷つけませんか?
理論的には、それは傷つく可能性があります!
幸い、 この危険から私たちを救うためにNVM(Node Version Manager)があります。node.jsとnpmのバージョンを問題なく更新するために、このツールを詳しく見てみましょう。
NVMをインストールします
nvm
node.jsとnpmのバージョンを管理します。特定のユーザー向けにインストールされ、シェルごとに個別に呼び出すことができます。
nvm
プラットフォーム(unix、macOS、windows WSL)を含む、POSIX互換のシェル(sh、dash、ksh、zsh、bash)で動作します。
nvm
curlまたはwgetコマンドを使用してインストールできます。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
スクリプトは、
install.sh
リポジトリNVMのクローンを
~/.nvm
、所望のプロファイルファイルに次のフラグメントからソース行を追加しようとすると(
~/.bash_profile
、
~/.zshrc
、
~/.profile
または
~/.bashrc
)。
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
では
~/.bash_profile
、私たちは、行が追加されていることがわかります。
export NVM_DIR="/Users/fuje/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
NVMの使用
そこで、nvmをインストールしました。次に、このコマンドを使用して、node.jsの最新バージョンをインストールします。
$ nvm install node
Downloading and installing node v15.4.0...
Downloading https://nodejs.org/dist/v15.4.0/node-v15.4.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v15.4.0 (npm v7.0.15)
上記の例の出力データは、npm
7.0.15
がnode.jsで使用されている ことを示してい
15.4.0
ます。確認しよう:
$ node -v v15.4.0 $ npm -v 7.0.15
インストールに必要なバージョンを指定することもできます。バージョンのセマンティック形式は、SemVerによって決定され ます。
$ nvm install 10.14.0
Downloading and installing node v10.14.0...
Downloading https://nodejs.org/dist/v10.14.0/node-v10.14.0-darwin-x64.tar.xz...
######################################################################## 100.0%
Computing checksum with shasum -a 256
Checksums matched!
Now using node v10.14.0 (npm v6.4.1)
指定されたバージョンがすでにインストールされている場合、再インストールされません。
$ nvm install 10.14.0 v10.14.0 is already installed. Now using node v10.14.0 (npm v6.4.1)
インストールされているすべてのバージョンを表示できます。
$ nvm ls -> v10.14.0 v10.15.0 v10.16.0 v12.16.0 v13.9.0 v15.4.0 system default -> 12.16.0 (-> v12.16.0) node -> stable (-> v15.4.0) (default) stable -> 15.4 (-> v15.4.0) (default) iojs -> N/A (default) unstable -> N/A (default) lts/* -> lts/fermium (-> N/A) lts/argon -> v4.9.1 (-> N/A) lts/boron -> v6.17.1 (-> N/A) lts/carbon -> v8.17.0 (-> N/A) lts/dubnium -> v10.23.0 (-> N/A) lts/erbium -> v12.20.0 (-> N/A) lts/fermium -> v14.15.1 (-> N/A)
上記の出力例では、記号
->
はnode.jsの現在のバージョンがであることを示してい
10.14.0
ます。矢印もの値を表し
default
(
12.16.0
)
node
(
15.4.0
)および
stable
(
15.4.0
)。
nvm use
現在のバージョンを置き換えます:
$ nvm use 12.16.0 Now using node v12.16.0 (npm v6.14.8) $ nvm use 10.16.0 Now using node v10.16.0 (npm v6.14.5) $ nvm use 13.9.0 Now using node v13.9.0 (npm v6.13.7) $ nvm use default Now using node v12.16.0 (npm v6.14.8) $ nvm use node Now using node v15.4.0 (npm v7.0.15) $ nvm use stable Now using node v15.4.0 (npm v7.0.15)
v10.16.0
よりも新しいバージョンのnpmをどのように使用するの か疑問に思われるかもしれません
v13.9.0
。このタスクは、次のコマンドを使用して解決できます。
$ nvm use 10.16.0 $ npm install -g npm@6.14.5
このコマンドを使用すると、Node.jsの現在のバージョンでサポートされている最新のnpmバージョンを取得できます。
$ nvm install-latest-npm
nvm use
現在のシェルにのみ正しいバージョンをインストールします。シェルを変更すると、新しく更新されたバージョンのnode.jsが失われます。
Node.jsの特定のバージョンを永続化するにはどうすればよいですか?
デフォルトのバージョンは、すべてのシェルに配布されているバージョンです。
このコマンドを
nvm alias
使用すると、デフォルトのバージョンを設定できます。
$ nvm alias default 10.16.0
便宜上、
.nvmrc
SemVer形式
node
または を受け入れるファイルを 作成できます
default
。その後
nvm use
、
nvm install
、
nvm exec
、
nvm run
および
nvm which
ファイルで指定されたバージョンを使用します
.nvmrc
別のコマンドラインをしない限り、。
$ cat .nvmrc
15.4.0
$ nvm use
Found '/Users/fuje/.nvmrc' with version <15.4.0>
Now using node v15.4.0 (npm v7.0.15)
次のコマンドで現在のバージョンを確認できます。
$ nvm current v15.4.0
ls-remote
利用可能なすべてのバージョンを表示しますが、非常に長いリストに備えてください。
$ nvm ls-remote
省略されたバージョン名は、リスト全体を大幅に短縮することに注意してください。
$ nvm ls-remote 15 v15.0.0 v15.0.1 v15.1.0 v15.2.0 v15.2.1 v15.3.0 -> v15.4.0
nvm which
nvm
インストールされた実行可能ファイルへのパスを示します 。私たちは、同様のNode.jsのインストールされたバージョンを持っている
10.14.0
、
10.15.0
と
10.16.0
。結果は
nvm which
次のとおりです。
$ nvm which 10.14.0
/Users/fuje/.nvm/versions/node/v10.14.0/bin/node
$ nvm which 10.15.0
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.16.0
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
$ nvm which 10.15
/Users/fuje/.nvm/versions/node/v10.15.0/bin/node
$ nvm which 10.12
N/A: version "v10.12" is not yet installed.
You need to run "nvm install 10.12" to install it before using it.
$ nvm which 10
/Users/fuje/.nvm/versions/node/v10.16.0/bin/node
指定されたバージョンのNode.jsを直接使用して、アプリケーションを起動できます。
$ nvm run 10.15.0 app.js
または、このコマンドは
node app.js
、バージョンを示すPATH変数を使用して実行さ れます
10.15.0
。
$ nvm exec 10.15.0 node app.js
さらにnvmコマンドが必要な場合は、次のコマンドを実行します
help
。
$ nvm --help
NVMのアップグレード
nvm
node.jsとnpmを使用して更新できます 。しかし、どうすれば自分自身を更新でき
nvm
ますか?
やってみよう!
更新する前に、をインストールしました
nvm
0.34.0
。
バージョン0.37.2にアップデートします。
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 13527 100 13527 0 0 23046 0 --:--:-- --:--:-- --:--:-- 23083
=> nvm is already installed in /Users/fuje/.nvm, trying to update using git
=> => Compressing and cleaning up git repository
=> nvm source string already in /Users/fuje/.bash_profile
=> bash_completion source string already in /Users/fuje/.bash_profile
=> Close and reopen your terminal to start using nvm or run the following to use it now:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
出力に記載されているように、新しいバージョンを使用するには、ターミナルを閉じてから再度開く必要があります。
$ nvm --version 0.37.2
バージョンと比較し て、コンソールに出力する機能
0.34.0
が
0.37.2
追加されています
nvm set-colors
。
デフォルトで
nvm ls
次の色を表示します :
新しい色を設定します:
$ nvm set-colors cgYmW
nvm ls
新しい色で出力を表示します。
結論
nvm
node.jsとnpmのバージョン管理を簡素化します。これで、node.js15とnpm7に移行する準備が整いました。これがお役に立てば幸いです。著者による他の出版物はここで見つけることができ ます。