前端寶庫

前端技術分享平台

0%

[筆記]_NVM_Mac

  • NVM (Node Version Manager) for Mac

    是 Node.js 的版本管理工具,
    因為不同的專案可能使用不同 Node.js 版本,在同一台主機上安裝多個版本環境時,
    可利用 NVM 來管理 Node.js 的版本控制和快速切換。

    安裝流程:

    1. 卸載(移除)原有的node相關目錄、檔案 (含npm、node)
    2. 安裝NVM
    3. 使用NVM 安裝Node指定版本
    • 卸載(移除)原有的node相關目錄、檔案 (含npm、node)

      NVM不支援透過 Brew (Homebrew) 安裝的nodejs版本,
      若先前已單獨安裝Node,請先刪除乾淨,再重新安裝。

      • 每次打開終端機都會顯示:
        node: command not found.
        npm: command not found.

      依原先nodejs安裝方式,選擇不同卸載。

      • 手動安裝 (直接從官網下載)
        • 刪除 /usr/local/lib/ 目錄中的 nodenode_modules 目錄。

        • 刪除 /usr/local/include/ 目錄中的 nodenode_modules 目錄。

        • 刪除 /usr/local/bin/ 目錄中的 nodenode_modulesnode-gyp 目錄。

        • 刪除個人目錄下的 .npmrc 文件。 (這是npm的設置文件,若計畫以後要重新安裝nodejs,可以不刪)

        • 刪除個人目錄下的 .npm 文件目錄。

        • 刪除個人目錄下的 .node-gyp 目錄。

        • 刪除個人目錄下的 .node_repl_history 目錄。

        • 刪除 /usr/local/share/man/man1/ 中所有與 nodenpm 有關的文件。 (node*, npm*)

        • 刪除 /usr/local/lib/dtrace/ 中的 node.d

        • 刪除 /opt/local/bin/ 中的 node 目錄。

        • 刪除 /opt/local/include/ 中的 node 目錄。

        • 刪除 /opt/local/lib/ 目錄中的 node_modules 目錄。

        • 刪除 /usr/local/share/doc/ 目錄中的 node 目錄。

        • 刪除 /usr/local/share/systemtap/tapset/ 目錄中的 node.stp
          以上目錄依次刪除就好,命令rm -rf <path>,刪除命令比較危險,請格外小心輸入。

        • 其他方法 使用命令刪除

          $ rm -rf ~/.nvm
          $ rm -rf ~/.npm
          $ rm -rf ~/.bower

          # 或使用以下命令 配合上方手動刪除 一個一個刪
          $ sudo rm -rf /usr/local/lib/...
      • 通過 Homebrew 安裝
        若原先使用 Homebrew 安裝的,可另用反向命令移除。
        $ brew uninstall node
      • 通過 NVM (Node Version Manager) 安裝
        若想刪除某一版本的 nodejs
        $ nvm uninstall v7.7.4
      • 未知的安裝方式
        另用which命令,由安裝路徑查找是哪一種安裝方式:
        $ which node

        ex:/Users/scott/.nvm/versions/node/v4.1.2/bin/node (由路徑可得知為nvm安裝)

    • 安裝NVM

      • 請先 前往 https://github.com/nvm-sh/nvm/releases 確認目前nvm最新版本
      • 根據最新版本資訊,使用 cURLwget 指令安裝腳本 (請依據最新版本號更改以下腳本路徑)
        $ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
        $ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
      • NVM已自動加入環境變數
        腳本已clone ~/.nvm 到 配置文件
        (~/.bash_profile~/.zshrc~/.profile~/.bashrc )
        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 -v
        若還是無法使用 nvm ,可執行下面指令立即應用ZSH的設定
        $ source .zshrc
    • 使用NVM 安裝Node及相關指令

      • 查看所有指令

        $ nvm --help
      • 查看 Nodejs

        $ nvm ls-remote                       # 查看可用的版本
        $ nvm ls-remote 12 # 加上版號可縮小搜尋
        $ nvm ls-remote --lts # 列出可用的LTS版
        $ nvm ls-remote --lts | grep Latest # 列出可用的最新LTS版
      • 安裝 Nodejs

        $ nvm install latest          # 安裝最新版本
        $ nvm install <version> # 安裝指定版本 e.g.: nvm install 12
        $ nvm install --lts # 安裝長期支援版本 (LTS: Long term support)
      • 查看可用已安裝版本

        $ nvm ls
      • 切換 Nodejs 版本

        $ nvm use <version>       # 使用指定版本 e.g.: nvm use 12
        $ nvm use stable # 使用穩定版本
      • 查看目前使用的 Nodejs 版本

        $ nvm use node
        # 或 $ nvm current
      • 直接執行 Nodejs

        $ nvm run node              # 執行目前版本
        $ nvm run node <version> # 指定要直接執行的版本 或 $ nvm exec <version> node
      • 查看 Nodejs 安裝路徑

        $ nvm which <version>
      • 設定預設啟用的 Nodejs 版本

        $ nvm alias default <version>
      • 設定版本別名

        $ nvm alias <name> <version>
      • 查看所有別名配對

        $ nvm alias

        # 可在以下指令中使用別名
        # nvm install、 use、 run、 execwhich ...等。
      • 移除已安裝的 Nodejs 版本

        $ nvm uninstall <version>