日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

node nvm

發(fā)布時(shí)間:2025/4/14 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 node nvm 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

nvm?是 Mac 下的 node 管理工具,有點(diǎn)類似管理 Ruby 的 rvm,如果是需要管理 Windows 下的 node,官方推薦是使用?nvmw?或?nvm-windows?。

以下具體說下 Mac 系統(tǒng)中的安裝與使用細(xì)節(jié)(Windows 系統(tǒng)僅供類比參考)。

一、卸載已安裝到全局的 node/npm

如果之前是在官網(wǎng)下載的 node 安裝包,運(yùn)行后會自動安裝在全局目錄,其中

node 命令在 /usr/local/bin/node ,npm 命令在全局 node_modules 目錄中,具體路徑為 /usr/local/lib/node_modules/npm

安裝 nvm 之后最好先刪除下已安裝的 node 和全局 node 模塊:

npm ls -g --depth=0 #查看已經(jīng)安裝在全局的模塊,以便刪除這些全局模塊后再按照不同的 node 版本重新進(jìn)行全局安裝sudo rm -rf /usr/local/lib/node_modules #刪除全局 node_modules 目錄 sudo rm /usr/local/bin/node #刪除 node cd /usr/local/bin && ls -l | grep "../lib/node_modules/" | awk '{print $9}'| xargs rm #刪除全局 node 模塊注冊的軟鏈

二、安裝 nvm

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

安裝完成后請重新打開終端環(huán)境,Mac 下推薦使用?oh-my-zsh?代替默認(rèn)的 bash shell。

三、安裝切換各版本 node/npm

nvm install stable #安裝最新穩(wěn)定版 node,現(xiàn)在是 5.0.0 nvm install 4.2.2 #安裝 4.2.2 版本 nvm install 0.12.7 #安裝 0.12.7 版本 # 特別說明:以下模塊安裝僅供演示說明,并非必須安裝模塊 nvm use 0 #切換至 0.12.7 版本 npm install -g mz-fis #安裝 mz-fis 模塊至全局目錄,安裝完成的路徑是 /Users/<你的用戶名>/.nvm/versions/node/v0.12.7/lib/mz-fis nvm use 4 #切換至 4.2.2 版本 npm install -g react-native-cli #安裝 react-native-cli 模塊至全局目錄,安裝完成的路徑是 /Users/<你的用戶名>/.nvm/versions/node/v4.2.2/lib/react-native-cli nvm alias default 0.12.7 #設(shè)置默認(rèn) node 版本為 0.12.7

四、使用 .nvmrc 文件配置項(xiàng)目所使用的 node 版本

如果你的默認(rèn) node 版本(通過 nvm alias 命令設(shè)置的)與項(xiàng)目所需的版本不同,則可在項(xiàng)目根目錄或其任意父級目錄中創(chuàng)建 .nvmrc 文件,在文件中指定使用的 node 版本號,例如:

cd <項(xiàng)目根目錄> #進(jìn)入項(xiàng)目根目錄 echo 4 > .nvmrc #添加 .nvmrc 文件 nvm use #無需指定版本號,會自動使用 .nvmrc 文件中配置的版本 node -v #查看 node 是否切換為對應(yīng)版本

五、nvm 與 n 的區(qū)別

node 版本管理工具還有一個(gè)是?TJ 大神的 n?命令,n 命令是作為一個(gè) node 的模塊而存在,而 nvm 是一個(gè)獨(dú)立于 node/npm 的外部 shell 腳本,因此?n 命令相比 nvm 更加局限。

由于 npm 安裝的模塊路徑均為 /usr/local/lib/node_modules ,當(dāng)使用 n 切換不同的 node 版本時(shí),實(shí)際上會共用全局的 node/npm 目錄。?因此不能很好的滿足『按不同 node 版本使用不同全局 node 模塊』的需求。

因此建議各位盡早開始使用 nvm ,以免出現(xiàn)全局模塊無法更新的問題

?

目前主流的node版本管理工具有兩種,nvm和n。兩者差異挺大的,具體分析可以參考一下淘寶FED團(tuán)隊(duì)的一篇文章:

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

總的來說,nvm有點(diǎn)類似于 Python 的 virtualenv 或者 Ruby 的 rvm,每個(gè)node版本的模塊都會被安裝在各自版本的沙箱里面(因此切換版本后模塊需重新安裝),因此考慮到需要時(shí)常對node版本進(jìn)行切換測試兼容性和一些模塊對node版本的限制,我選擇了使用nvm作為管理工具,下面就來說說nvm的安裝和使用過程。

安裝

一開始,我像往常一樣在?oh-my-zsh?中選擇了使用?Homebrew?來安裝nvm,完成后卻發(fā)現(xiàn)它被全局安裝了,這就造成了后面使用上的一點(diǎn)問題,具體問題可參考?Github?上的一個(gè)?issue?。

然后我就又用?Homebrew?把它給卸掉了,還是決定找找看它的文檔,?Github?上找到?這里?。

清楚看到文檔中?Installation?那一小節(jié)有一句?Homebrew installation is not supported.?,由此可見,沒事兒還是要多看看文檔。

正式進(jìn)入安裝過程:

我選擇了使用?curl?來安裝:

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

完成后nvm就被安裝在了?~/.nvm?下啦,接下來就需要配一下環(huán)境變量了,如果你也使用了?zsh?的話,就需要在?~/.zshrc?這個(gè)配置文件中配置,否則就找找看?~/.bash_profile?或者?~/.profile?吧。

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

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

這一步的作用是每次新打開一個(gè)bash,nvm都會被自動添加到環(huán)境變量中了。

完成后輸入?source ~/.zshrc?重新啟動一下配置。

輸入?nvm?可以看到如下信息:

? ~ nvmNode Version ManagerNote: <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`)

至此,nvm的安裝就算是告一段落了,下面我們就來看一下如何使用它來對node版本進(jìn)行切換使用。

使用

其實(shí),上述最后一步打印出的信息已經(jīng)可以清楚看到nvm的全部命令。

各項(xiàng)命令的詳細(xì)用法及含義可參考上文提到的?nvm文檔?。

接下來就輪到安裝我們的主角node大哥了。

首先我們可以使用?nvm ls-remote?看一下node有哪些版本可以安裝:

? ~ nvm ls-remotev0.1.14 v0.1.15 v0.1.16 ...

Note:由于在寫文章的時(shí)候網(wǎng)絡(luò)有問題,無法展示所有結(jié)果出來,上面代碼示意一下,正確情況下會顯示非常多版本出來,大家都知道node更新速度非常非???。

我常用的node版本是4.1.0,因此首先安裝這個(gè)版本:

$ nvm install v4.1.0 ######################################################################## 100.0% Now using node v4.1.0

同時(shí)安裝一下最新版來測試nvm的版本管理功能:

$ nvm install v5.5.0 ######################################################################## 100.0% Now using node v5.5.0

使用nvm輕松切換node版本

在介紹使用方法前,簡單說明一下nvm的工作原理:

按照我上述安裝方法的話,nvm會將各個(gè)版本的node安裝在?~/.nvm/versions/node?目錄下,我們可以打開這個(gè)目錄看看有些什么東西:

? ~ ls -a ~/.nvm/versions/node . .. v4.1.0 v5.5.0

事實(shí)上?v4.1.0?和?v5.5.0?這兩個(gè)目錄分別存放node的binary檔,nvm會在?$PATH?前面安插指定版本的目錄,透過這種方式在使用node命令時(shí)就會用指定版本的node來運(yùn)行了。

可以確認(rèn)實(shí)際的?$PATH?看看:

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

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

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

? ~ nvm use v4.1.0 Now using node v4.1.0 (npm v2.14.3) ? ~ node -v v4.1.0 ? ~ nvm use v5.5.0 Now using node v5.5.0 (npm v3.3.12) ? ~ node -v v5.5.0

輕輕松松完成切換!

不過問題來了,這時(shí)如果你新打開一個(gè)bash,輸入?nvm current?會發(fā)現(xiàn)顯示為?null?,這是因?yàn)槭褂?nvm use?命令只會在當(dāng)前bash里生效,重新打開一個(gè)bash你會發(fā)現(xiàn)?$PATH?的值已經(jīng)不包含剛才的node目錄了,要解決這個(gè)問題也很簡單,使用?nvm alias default <version>?命令來指定一個(gè)默認(rèn)的node版本就ok了,這里我使用了?v4.1.0?作為默認(rèn)版本:

? ~ nvm alias default v4.1.0 default -> v4.1.0

此時(shí)再打開一個(gè)bash輸入?nvm current?就會顯示為?v4.1.0?了。

小結(jié)

以上為我在安裝nvm的過程中通過各種資料總結(jié)出來的一套簡單教程,歡迎大家分享交流!

轉(zhuǎn)載于:https://www.cnblogs.com/hujihon/p/6377558.html

總結(jié)

以上是生活随笔為你收集整理的node nvm的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。