Node.jsとNVMを使用したNPMのバージョン管理

私たちの 以前の翻訳我々は、トピックを継続し、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)
      
      





上記の例の出力データは、npm7.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に移行する準備が整いました。これがお役に立てば幸いです。著者による他の出版物はここで見つけることができ ます



All Articles