Mac中安裝Node和版本控制工具nvm遇到的坑

首先說說常規的安裝

1. 下載nvm,使用nvm來管理Node版本

  • 官方文檔

    windows 版本  https://github.com/coreybutler/nvm-windows

    mac 版本    https://github.com/creationix/nvm#install-script

  • 命令行 儘量不要用brew,免得掉坑

    curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
    

2. 使用nvm來下載node,並管理node版本

  • 常見命令

    nvm install stable ## 安裝最新穩定版 node
    nvm install <version> ## 安裝指定版本
    nvm uninstall <version> ## 刪除已安裝的指定版本
    nvm use <version> ## 切換使用指定的版本node
    nvm ls ## 列出所有安裝的版本
    nvm ls-remote ## 列出所有遠程服務器的版本
    nvm current ## 顯示當前的版本
    nvm alias <name> <version> ## 給不同的版本號添加別名
    nvm unalias <name> ## 刪除已定義的別名
    nvm reinstall-packages <version> ## 在當前版本 node 環境下,重新全局安裝指定版本號的 npm 包
    nvm alias default [node版本號] ##設置默認版本
    

上面的安裝大家都可以信手拈來,這裏就不贅述,主要說一下這其中有個大家需要注意的坑點。敲重點啦!

坑點一:安裝之前必須把本地環境清理乾淨

在安裝node前,首先要考慮後續會不會切換版本,如果需要,必須要求nvm在Node安裝之前

  • 先安裝nvm

  • 在通過nvm安裝自己需要的node

    否則,在nvm安裝之前的安裝的node是不會被nvm管理起來的!

那如果已經安裝了node,卻還要使用nvm管理版本的話,怎麼辦?我很不幸的告訴你,你需要刪除已安裝的node。

​ 下面是刪除的Node和npm的命令,在終端中執行即可。

sudo npm uninstall npm -g
sudo rm -rf /usr/local/lib/node /usr/local/lib/node_modules /var/db/receipts/org.nodejs.*
sudo rm -rf /usr/local/include/node /Users/$USER/.npm
sudo rm /usr/local/bin/node
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d

坑點二:關閉終端nvm失效,區分zsh和bash

對於一般的終端,默認是bash窗口,所以在安裝完nvm後,根據如下圖提示,進行操作

在這裏插入圖片描述
配置環境變量(無 .bash_profile)

  1. 添加 .bash_profile在終端鍵入touch ~/.bash_profile

  2. 打開 .bash_profile在終端鍵入open -e .bash_profile

  3. 在 .basn_profile中輸入

    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
    
  4. 配置生效

    source ~/.bash_profile
    

    如果你的終端是zsh,請往下看

配置環境變量(一般根目錄都沒有這個文件)

  1. 添加 .zshrc在終端鍵入touch ~/.zshrc

  2. 打開 .zshrc在終端鍵入open -e .zshrc

  3. 在 .zshrc中輸入

    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
    
  4. 配置生效

    source ~/.zshrc
    

坑點三:切換node版本失效

node版本失效,網絡上有好多解決方案,大家應該也可以找到

# 將要切換的版本設置爲default
nvm alias default 8.16.0
# 切換版本,這樣在那個窗口都可以使用切換後的版本
nvm use 8.16.0

最後鳴謝:

https://segmentfault.com/q/1010000004858041/a-1020000018860796

https://www.jianshu.com/p/1c0ad9c8072c

https://www.jianshu.com/p/4455f0073ed5

https://juejin.im/post/5cdb62fc5188250d8b2df0de

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章