Mac-node版本管理工具nvm

Node

目前主流的node版本管理工具有兩種鸟蜡,nvm和n膜赃。
感興趣的可以查看一下下面這篇文章,學(xué)習(xí)一下揉忘。

管理 node 版本跳座,選擇 nvm 還是 n?

此次主要記錄nvm的安裝方式泣矛,以及卸載降級等疲眷,注意自己選擇的方式。

一您朽、nvm方式

1狂丝、安裝 nvm

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

2、配置 nvm 環(huán)境變量

nvm被安裝在了~/.nvm
我使用的是zsh哗总,就需要在~/.zshrc這個配置文件中配置
否則就自行配置下~/.bash_profile或者~/.profile

打開~/.zshrc几颜,在最后一行加上:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

3、讓 nvm 生效

source ~/.zshrc重新啟動一下配置讯屈。
輸入nvm可以看到如下信息:

?  ~  nvm

Node Version Manager

Note: <version> refers to any version-like string nvm understands. This includes:
  - full or partial version numbers, starting with an optional "v" (0.10, v0.1.2, v1)
  - default (built-in) aliases: node, stable, unstable, iojs, system
  - custom aliases you define with `nvm alias foo`

Usage:
  nvm help                                  Show this message
  nvm --version                             Print out the latest released version of nvm
  nvm install [-s] <version>                Download and install a <version>, [-s] from source. Uses .nvmrc if available
    --reinstall-packages-from=<version>     When installing, reinstall packages installed in <node|iojs|node version number>
  nvm uninstall <version>                   Uninstall a version
  nvm use [--silent] <version>              Modify PATH to use <version>. Uses .nvmrc if available
  nvm exec [--silent] <version> [<command>] Run <command> on <version>. Uses .nvmrc if available
  nvm run [--silent] <version> [<args>]     Run `node` on <version> with <args> as arguments. Uses .nvmrc if available
  nvm current                               Display currently activated version
  nvm ls                                    List installed versions
  nvm ls <version>                          List versions matching a given description
  nvm ls-remote                             List remote versions available for install
  nvm version <version>                     Resolve the given description to a single local version
  nvm version-remote <version>              Resolve the given description to a single remote version
  nvm deactivate                            Undo effects of `nvm` on current shell
  nvm alias [<pattern>]                     Show all aliases beginning with <pattern>
  nvm alias <name> <version>                Set an alias named <name> pointing to <version>
  nvm unalias <name>                        Deletes the alias named <name>
  nvm reinstall-packages <version>          Reinstall global `npm` packages contained in <version> to current version
  nvm unload                                Unload `nvm` from shell
  nvm which [<version>]                     Display path to installed node version. Uses .nvmrc if available

Example:
  nvm install v0.10.32                  Install a specific version number
  nvm use 0.10                          Use the latest available 0.10.x release
  nvm run 0.10.32 app.js                Run app.js using node v0.10.32
  nvm exec 0.10.32 node app.js          Run `node app.js` with the PATH pointing to node v0.10.32
  nvm alias default 0.10.32             Set default node version on a shell

Note:
  to remove, delete, or uninstall nvm - just remove the `$NVM_DIR` folder (usually `~/.nvm`)

使用切換node版本 nvm文檔

1蛋哭、查看node有哪些版本可以安裝

nvm ls-remote

  v10.14.2
       v10.15.0
       v10.15.1
        v11.0.0
        v11.1.0
        v11.2.0
        v11.3.0
        v11.4.0
        v11.5.0
        v11.6.0
        v11.7.0
        v11.8.0
        v11.9.0
       v11.10.0
            ...

2、安裝多個node版本

$ nvm install v11.0.0
######################################################################## 100.0%

Now using node v11.0.0
$ nvm install v11.10.0
######################################################################## 100.0%

Now using node v11.10.0

3耻煤、使用nvm輕松切換node版本

在介紹使用方法前具壮,簡單說明一下nvm的工作原理:
按照我上述安裝方法的話,nvm會將各個版本的node安裝在~/.nvm/versions/node目錄下哈蝇,我們可以打開這個目錄看看有些什么東西:

?  ~  ls -a ~/.nvm/versions/node

事實上vXXXvXX這兩個目錄分別存放node的binary檔棺妓,nvm會在$PATH前面安插指定版本的目錄,透過這種方式在使用node命令時就會用指定版本的node來運行了炮赦。
可以確認實際的$PATH看看:

?  ~  echo $PATH
/Users/***/.nvm/versions/node/xxx/bin:...

由于剛剛我們通過nvm安裝node怜跑,會自動把最后安裝的版本設(shè)為當前使用的版本,因此上述路徑結(jié)尾會是.../v11.10.0/bin(還可通過nvm ls命令查看當前已安裝的所有node版本)吠勘。

接下來我們可以使用nvm use <version>切換版本:

 nvm use vxxx

3性芬、使用nvm設(shè)置默認node版本

?  ~  nvm alias default v11.10.0
default -> v11.10.0

此時再打開一個bash輸入nvm current就會顯示為v11.10.0

Homebrew 安裝

brew install node



Mac 徹底卸載node和npm

Homebrew安裝的

brew uninstall node

官網(wǎng)下載pkg安裝包

sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*}

其他騷操作一

1. 刪除/usr/local/lib中的所有node和node_modules

2. 刪除/usr/local/lib中的所有node和node_modules的文件夾

3. 如果是從brew安裝的, 運行brew uninstall node

4. 檢查~/中所有的local, lib或者include文件夾, 刪除里面所有nodenode_modules

5. 在/usr/local/bin中, 刪除所有node的可執(zhí)行文件

6. 最后運行以下代碼:

sudo rm /usr/local/bin/npm
sudo rm /usr/local/share/man/man1/node.1
sudo rm /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm /opt/local/bin/node
sudo rm /opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules

其他騷操作二:

先刪除方法一文件,在運行以下指令:

sudo rm /usr/local/${i}

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

其他騷操作三:

由于之前安裝過剧防,在 package.json 中的記錄仍然存在

npm uninstall npm -g
npm uninstall lodash

--save 參數(shù)使用
卸載模塊的同時刪除在 package.json 文件中的記錄

 npm uninstall lodash --save

卸載指定版本的模塊

npm uninstall lodash@3.*  // 卸載 lodash 模塊 3.* 版本

檢查是否卸載

node
npm



npm 中文文檔

修復(fù)權(quán)限到 npm's 默認目錄

npm config get prefix

查看當前版本

npm -v

npm切換源

1.config

npm config set registry https://registry.npm.taobao.org

2.命令行指定

  npm i node --registry https://registry.npm.taobao.org info underscore 

3.編輯 ~/.npmrc 加入下面內(nèi)容

  registry = https://registry.npm.taobao.org

npm安裝需要的版本(版本號 可以根據(jù)已發(fā)布的版本隨意升級或降級)

npm -g install npm@6.7.0

npm更新

npm update -g npm
npm outdated -g --depth=0:找出需要更新的包植锉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市峭拘,隨后出現(xiàn)的幾起案子俊庇,更是在濱河造成了極大的恐慌狮暑,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,013評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辉饱,死亡現(xiàn)場離奇詭異搬男,居然都是意外死亡,警方通過查閱死者的電腦和手機彭沼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評論 2 382
  • 文/潘曉璐 我一進店門缔逛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人姓惑,你說我怎么就攤上這事褐奴。” “怎么了挺益?”我有些...
    開封第一講書人閱讀 152,370評論 0 342
  • 文/不壞的土叔 我叫張陵歉糜,是天一觀的道長乘寒。 經(jīng)常有香客問我望众,道長,這世上最難降的妖魔是什么伞辛? 我笑而不...
    開封第一講書人閱讀 55,168評論 1 278
  • 正文 為了忘掉前任烂翰,我火速辦了婚禮,結(jié)果婚禮上蚤氏,老公的妹妹穿的比我還像新娘甘耿。我一直安慰自己,他們只是感情好竿滨,可當我...
    茶點故事閱讀 64,153評論 5 371
  • 文/花漫 我一把揭開白布佳恬。 她就那樣靜靜地躺著,像睡著了一般于游。 火紅的嫁衣襯著肌膚如雪毁葱。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,954評論 1 283
  • 那天贰剥,我揣著相機與錄音倾剿,去河邊找鬼。 笑死蚌成,一個胖子當著我的面吹牛前痘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播担忧,決...
    沈念sama閱讀 38,271評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼芹缔,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了瓶盛?” 一聲冷哼從身側(cè)響起最欠,我...
    開封第一講書人閱讀 36,916評論 0 259
  • 序言:老撾萬榮一對情侶失蹤坡锡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后窒所,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鹉勒,經(jīng)...
    沈念sama閱讀 43,382評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,877評論 2 323
  • 正文 我和宋清朗相戀三年吵取,在試婚紗的時候發(fā)現(xiàn)自己被綠了禽额。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,989評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡皮官,死狀恐怖脯倒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捺氢,我是刑警寧澤藻丢,帶...
    沈念sama閱讀 33,624評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站摄乒,受9級特大地震影響悠反,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜馍佑,卻給世界環(huán)境...
    茶點故事閱讀 39,209評論 3 307
  • 文/蒙蒙 一斋否、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拭荤,春花似錦茵臭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,199評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至雏亚,卻和暖如春缨硝,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背评凝。 一陣腳步聲響...
    開封第一講書人閱讀 31,418評論 1 260
  • 我被黑心中介騙來泰國打工追葡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奕短。 一個月前我還...
    沈念sama閱讀 45,401評論 2 352
  • 正文 我出身青樓宜肉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親翎碑。 傳聞我的和親對象是個殘疾皇子谬返,可洞房花燭夜當晚...
    茶點故事閱讀 42,700評論 2 345

推薦閱讀更多精彩內(nèi)容