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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/249111.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/249111.shtml
英文地址,請注明出處:http://en.pswp.cn/news/249111.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

幾道比較有意思的js面試題

1、[] ? !![] : ![];輸出結果是什么&#xff1f; 12345let val [] ? !![] : ![];console.log(val); //true&#xff1a;//之前的錯誤解釋&#xff1a;[] 是一個null&#xff0c;做判斷則為false&#xff0c;false執行![]語句&#xff0c;結果為非空&#xff0c;即true//更正…

wepy - 與原生有什么不同(x.wpy)使用實例

源碼 1 <template>2 <view classmark wx:if"{{showMark}}">3 <view animation"{{animationData}}" class"animCat">4 <image src"http://osk1hpe2y.bkt.clouddn.com/18-5-30/34559443.jpg"></…

vue從入門到精通之高級篇(一)vue-router的高級用法

今天要介紹的是路由元信息&#xff0c;滾動行為以及路由懶加載這幾個的使用方法。 1.路由元信息 什么是路由元信息&#xff0c;看看官網的解釋&#xff0c;定義路由的時候可以配置 meta 字段可以匹配meta字段&#xff0c;那么我們該如何使用它&#xff0c;一個簡單的例子&…

Java 數組實現堆棧操作

class Stack {private int stck[] ; private int tos ; Stack(int size) { // 一個參數的構造參數stck new int[size] ; // 創建數組&#xff08;創建堆棧&#xff09;tos -1 ; // 空堆棧標識 -1}// 堆棧操作的特性&#xff1a;先進后出、后進先出void push(int…

re模塊

什么是正則表達式 一組特殊符號組成的表達式&#xff0c;用于描述某種規則。該應用場景生活中隨處可見。 例如&#xff1a;讓有志青年過上體面的生活&#xff0c;這里面就由規則&#xff0c;即有志青年。 正則表達式的作用&#xff0c;以及使用場景 用于從字符串中匹配滿足某種…

CSS實現div梯形分割

原理 使用的border邊框屬性結合svg 轉換 詳見代碼 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>css實現div邊框斜角</title><style type"text/css"> .labels {display: i…

算法學習——決策單調性優化DP

update in 2019.1.21 優化了一下文中年代久遠的代碼 的格式…… 什么是決策單調性&#xff1f; 在滿足決策單調性的情況下&#xff0c;通常決策點會形如1111112222224444445555588888..... 即不可能會出現后面點的決策點小于前面點的決策點這種情況。 那么這個性質應該如何使用…

SVG畫一個箭頭

參考菜鳥手冊&#xff1a; https://www.runoob.com/svg/svg-tutorial.html 打開菜鳥中的在線工具 在可視化截圖拖拉元素繪制箭頭 點擊command U 查看源碼 將源碼拷入html代碼中&#xff0c;查看效果 最后&#xff0c;貼出源碼供大家參考 <!DOCTYPE html> <…

HP Instant Information

HP Instant Information before HP-UX 11i v3 《管理系統和工作組&#xff1a;HP-UX系統管理員指南》 After HP-UX 11i v3 《HP-UX系統管理指南》(由多個文檔組成的文檔集) 《HP-UX系統管理員指南&#xff1a;概述》 《HP-UX系統管理員指南&#xff1a;配置管理》 《HP-UX系統管…

CodeForces 258D Little Elephant and Broken Sorting(期望)

CF258D Little Elephant and Broken Sorting 題意 題意翻譯 有一個\(1\sim n\)的排列&#xff0c;會進行\(m\)次操作&#xff0c;操作為交換\(a,b\)。每次操作都有\(50\%\)的概率進行。 求進行\(m\)次操作以后的期望逆序對個數。 \(n,m\le 1000\) 輸入輸出格式 輸入格式&#x…

記一次vue項目yarn打包環境配置失效的解決方案

項目中使用到了yarn打包工程&#xff0c;主要有以下幾個命名。 # build for production with minification yarn run build# build for production and view the bundle analyzer report yarn run build --report# 自定義API地址 baseurl"http://127.0.0.1:8080/api/&quo…

數字簽名與HTTPS詳解

因為HTTP協議本身存在著明文傳輸、不能很好的驗證通信方的身份和無法驗證報文的完整性等一些安全方面的確點&#xff0c;所以才有了HTTPS的缺陷。HTTPS確切的的說不是一種協議&#xff0c;而是HTTP SSL (TSL)的結合體。HTTP報文經過SSL層加密后交付給TCP層進行傳輸。SSL(安全套…

[BZOJ4320][ShangHai2006]Homework(根號分治+并查集)

對于<sqrt(300000)的詢問&#xff0c;對每個模數直接記錄結果&#xff0c;每次加入新數時暴力更新每個模數的結果。 對于>sqrt(300000)的詢問&#xff0c;枚舉倍數&#xff0c;每次查詢大于等于這個倍數的最小數是多少&#xff0c;這個操作通過將詢問逆序使用并查集支持。…

VScode 結局插件prettier和vetur格式化沖突

先上配置代碼 {"workbench.iconTheme": "vscode-icons","workbench.startupEditor": "newUntitledFile","workbench.colorTheme": "One Dark Pro","editor.fontSize": 14,"editor.tabSize":…

WPF效果(GIS三維續篇)

去年這個時候簡單的摸索了一下三維的GIS相關的東西,也就是僅僅玩耍了一把,這次來點真正用的上的干貨效果效果&#xff1a; 1、加載自定義百度樣式的瓦片效果 2、加載自定義百度樣式的縮放效果 3、快速手動進去咱的大帝都 4、加載海量Mark效果 5、加載海量Mark和簡單模型效果 6、…

vue 表單 驗證 async-validator

1、使用插件async-validator async-validator 地址&#xff1a;https://github.com/yiminghe/async-validator 2、示例&#xff08;vueelement-ui&#xff09; <el-form :model"numberValidateForm" ref"numberValidateForm" label-width"100px&qu…

[19/04/23-星期二] GOF23_創建型模式(工廠模式、抽象工廠模式)

一、工廠模式(分為&#xff1a;簡單工廠模式、工廠方法模式、抽象工廠模式) 實現了創建者和調用者的分離 核心本質&#xff1a;1、實例化對象&#xff0c;用工廠方法代替new操作&#xff1b;2、將選擇實現類、創建對象統一管理和控制&#xff0c;從而將調用者跟實現類解耦。 簡…

Chrome瀏覽器12px問題-webkit-text-size-adjust: none 已失效的解決方案

對于早期的chrome, 如果要想顯示12px以下的字體&#xff0c;一般通用的方案都是在對應的元素中添加 div {-webkit-text-size-adjust: none; }但是我今天遇到的需求&#xff0c;添加了之后沒有反應&#xff0c;而且瀏覽就根本不支持這種寫法。 在網上看到了博客《Chrome瀏覽器…

CSRFGuard工具介紹

理解CSRFGuard的基礎&#xff1a;http://www.runoob.com/jsp/jsp-tutorial.html 1&#xff1a;您需要做的第一件事是將OWASP.CSRFARGAD.JAR庫復制到類路徑中。放置Owasp.CsrfGuard.jar最常見的類路徑位置在Web應用程序的WEB-INF文件夾的lib目錄中。 OWASP CSRFGARD 3在傳統Java…

[19/04/24-星期三] GOF23_創建型模式(建造者模式、原型模式)

一、建造者模式 本質&#xff1a;分離了對象子組件的單獨構造(由Builder負責)和裝配的分離(由Director負責)&#xff0c;從而可以構建出復雜的對象&#xff0c;這個模式適用于&#xff1a;某個對象的構建過程十分復雜 好處&#xff1a;由于構建和裝配的解耦&#xff0c;不同的構…