Nodeバージョンとソース管理


前言
Nodeバージョンのオススメは最新のltsバージョン(現在の12 x)で、初体験はcurrentバージョン(一般的には安定版より前の大きなバージョンを超える)が使えます.
Nodeシングルバージョン
NodeJS公式サイトでインストールltsまたはcurrentバージョンをダウンロードします.nodejs公式サイトです.
Node多バージョン
場合によっては、Nodeのバージョンを使用して異なるプロジェクトを実行する必要があります.シングルバージョンは限られていますので、コミュニティにも複数のバージョンの管理ツールがあります.
nvm
nvmは最初はlinuxとmacosだけで実現されました.shell脚本で書いたので、その後流行してくると、windows対応のデリバティブライブラリがあります.
Linux/macOSにインストールする
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
#   
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash


#         ,         ,      shell    (       )
# bash -> .bashrc
# zsh -> .zshrc

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
windowsにインストールする
nvm-windowsのインストールパッケージを直接ダウンロードしてインストールすればいいです.
$ nvm install 10.15.0 #            node
$ nvm use 10.15.0 #   (  )    node
$ nvm alias default 10.15.0 #   shell    
より多くのnvm用法はドキュメントnvm文書を調べます.
nvs
nvsはデフォルトで全プラットフォームを支持して、nodeで書いたのです.
Linux/macOSにインストールする
#         
export NVS_HOME="$HOME/.nvs"

#     
git clone https://github.com/jasongin/nvs "$NVS_HOME"

#       
. "$NVS_HOME/nvs.sh" install
windowsにインストールする
  • choccolateyをインストールして、macの下のbrew
  • のようです.
  • choco install nvs
  • 操作も直感的で、nvmのように分かりやすいです.
    $ nvs --help
    NVS (Node Version Switcher) usage
    
    nvs help <command>             Get detailed help for a command
    nvs install                    Initialize your profile for using NVS
    nvs --version                  Display the NVS tool version
    
    nvs menu                       Launch an interactive menu
    
    nvs add <version>              Download and extract a node version
    nvs rm <version>               Remove a node version
    nvs migrate <fromver> [tover]  Migrate global modules
    nvs upgrade [fromver]          Upgrade to latest patch of major version
    
    nvs use [version]              Use a node version in the current shell
    nvs auto [on/off]              Automatically switch based on cwd
    nvs run <ver> <js> [args...]   Run a script using a node version
    nvs exec <ver> <exe> [args...] Run an executable using a node version
    nvs which [version]            Show the path to a node version binary
    
    nvs ls [filter]                List local node versions
    nvs ls-remote [filter]         List node versions available to download
    
    nvs link [version]             Link a version as the default
    nvs unlink [version]           Remove links to a default version
    
    nvs alias [name] [value]       Set or recall aliases for versions
    nvs remote [name] [uri]        Set or recall download base URIs
    
    A version string consists of a semantic version number or version label
    ("lts" or "latest"), optionally preceeded by a remote name, optionally
    followed by an architecture, separated by slashes.
    Examples: "lts", "4.6.0", "6.3.1/x86", "node/6.7.0/x64"
    Aliases may also be used anywhere in place of a version string.
    
    $ nvs add lts #      LTS
    $ nvs use lts #       node   
    $ nvs link lts#        ,  shell    
    
    Nodeソース管理
    社内にnpmの私有倉庫を構築し、倉庫内に運行プロジェクトの必要な依存性を含む.従来のソース切り替えは、npm configでローカルまたはグローバルソースを設定するだけであり、ステップおよび動作がやや煩雑である.このような状況に対してコミュニティも便利なメンテナンスと快速な切り替えのツールを出しました.
    nrmインストール
    グローバルインストールnrm
    npm install -g nrm
    
    内部の私倉の住所を追加します.
    新しいnpmソースを追加します.
    nrm add h3npm http://xxxxx/repository/npm-all/  #     ,  
    
    npmソースを私倉に切り替える
    nrm use h3npm
    
    nrm lsを実行するコマンドは現在設定されているnpmソースを確認し、*は現在npmソースを表します.
    $ nrm ls
      npm -------- https://registry.npmjs.org/ # npm   
      yarn ------- https://registry.yarnpkg.com/ # yarn    
      cnpm ------- http://r.cnpmjs.org/ # cnpm  
      taobao ----- https://registry.npm.taobao.org/ #        
      nj --------- https://registry.nodejitsu.com/ #         
    * h3npm ------ http://xxxxx/repository/npm-all/ #          (     )
      h3-authine - http://xxxxx/repository/npm-authine/ #