首頁 web前端 js教程 簡單談談node.js 版本控制 nvm和 n_node.js

簡單談談node.js 版本控制 nvm和 n_node.js

May 16, 2016 pm 03:36 PM
node.js nvm 版本控制

今天的話題包括2個部分

1. node.js 下使用 nvm 或 n 來進行版本控制
2. nvm 安裝node.js 版本後,重啟終端 node , npm 環境變數失效

第一部分 用什麼來管理 node.js 版本

首先應該歡呼慶祝一下node.js 終於發布了有歷史意義的正式版1.0 ,雖然我們看到的是V4.0,其實他就是node.js 真正意義的1.0, io.js 不負眾望,完成了它的使命.

回頭看這幾年node.js 以及io.js 的發展速度,各種版本的迭代發布,我們很有必要用一個node.js 的版本管理工具來控制當前系統的node.js 版本.

為什麼這樣做?

在新的版本中已經用上了最新的V8引擎,ES 6的所有新特性一展身手,你能忍得住嗎?
但是,如果你魯莽升級,第一個問題是 你的開發環境和線上發布環境可能不一樣,那麼後果就不用多少了,出了問題 等著老闆來鞭屍吧.
第二個問題 可能是之前的一些開源套件需要重新編譯,尤其是 c 模組寫的.

所以,你需要一個 node.js 的版本管理軟體

現在流行的 node.js 版本管理有哪些?

nvm

我們用  brew 安裝 nvm

brew install nvm
登入後複製

這裡要注意
brew 安裝後一定要在你的 bash 或 zsh 設定檔中設定一下,否則 當你重新啟動終端機,你會發現 node ,npm 環境變數都失效了

這裡要穿插說一下我們要分享的第二個主題
nvm 重啟後終端 node ,npm 失效的解決方案

如果你使用了上面的 brew 的安裝方法
當安裝成功後,請按照以下操作設定你的 shell 設定檔

brew info nvm
登入後複製

你會看到下面的輸出幫助資訊

nvm: stable 0.26.1 (bottled), HEAD
Manage multiple Node.js versions
https://github.com/creationix/nvm
/usr/local/Cellar/nvm/0.26.1 (3173 files, 56M) *
 Poured from bottle
From: https://github.com/Homebrew/homebrew/blob/master/Library/Formula/nvm.rb
==> Caveats
Add NVM's working directory to your $HOME path (if it doesn't exist):

 mkdir ~/.nvm

Copy nvm-exec to NVM's working directory

 cp $(brew --prefix nvm)/nvm-exec ~/.nvm/

Add the following to $HOME/.bashrc, $HOME/.zshrc, or your shell's
equivalent configuration file:

 export NVM_DIR=~/.nvm
 source $(brew --prefix nvm)/nvm.sh

Type `nvm help` for further information.

Bash completion has been installed to:
 /usr/local/etc/bash_completion.d

登入後複製

我們需要按照上面提供的方法,首先在使用者更目錄下 建立 .nvm 檔案

mkdir ~/.nvm

登入後複製

然後把 nvm-exec 檔案拷貝到你剛才新建的 .nvm 目錄下

cp $(brew --prefix nvm)/nvm-exec ~/.nvm/
登入後複製

然後去編輯你的 bash 設定檔 $HOME/.bashrc ,如果你  使用 zsh 那麼編輯 $HOME/.zshrc 設定檔

nano ~/.bashrc
登入後複製

nano ~/.zshrc
登入後複製

把下面的內容貼進去

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
登入後複製

最後讓你的 shell 配置及時生效

source ~/.bashrc
登入後複製


`source ~/.zshrc'
登入後複製

最後你就不會再出現關閉終端重啟,或重啟機器發現 node ,npm 等系統環境變數失效的問題了.

nvm 和 n 的差別

nvm 類似 Python 的 virtualenv 或 Ruby 的 rvm ,它是獨立安裝的軟體
n 其實是一個 npm 全域的開源套件 ,需要使用 npm 來全域安裝
n 更加輕巧,但是 nvm 更獨立.

假如你有一台新帶電腦,如果你想使用 版本管理,那麼 nvm 是你的選擇,因為它的獨立的軟體,安裝後你可以隨意下載切換你需要的版本.

但是 n 是依賴在 npm 下的一個包,也就是說 你的電腦環境還沒有 node / npm 的時候,你還用不了 n .
所以在使用的時候,大家可以針對自己的情況權衡.我自己使用 nvm 來控制 node 版本.

nvm 使用

查看可以安裝的版本

nvm ls-remote
登入後複製

查看已經安裝的版本

nvm ls
登入後複製

安裝一個指定的版本

nvm install <version>
登入後複製

上面的 version 可以指定你在 nvm ls-remote 裡面列出來的版本號碼即可

刪除指定版本

nvm use <version>
登入後複製

n 的安裝

npm install -g n
登入後複製

當然,你還可以去 github 下載你的源代碼自己本地編譯

$ git clone https://github.com/visionmedia/n.git
$ cd n
$ [sudo] make install
n 安装指定版本
n stable/laster/< version>

登入後複製

在 n 後面更一個標識 stable 標識最新穩定版, laster 標識最新版 , 就是你可以具體指定一個版本號

n 使用一个版本
n use <version>

n 删除一个版本
n rm <version>
登入後複製

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Java SVN:程式碼倉庫的守護者,確保程式碼穩定性 Java SVN:程式碼倉庫的守護者,確保程式碼穩定性 Mar 09, 2024 am 09:20 AM

SVN簡介SVN(Subversion)是一種集中式版本控制系統,用於管理和維護程式碼庫。它允許多個開發者同時協作開發程式碼,並提供對程式碼歷史修改的完整記錄。透過使用SVN,開發者可以:保障程式碼穩定性,避免程式碼遺失和損壞。追蹤程式碼修改歷史,輕鬆回滾到之前的版本。協同開發,多個開發者同時修改程式碼而不會衝突。 SVN基本操作要使用SVN,需要安裝SVN客戶端,例如TortoiseSVN或SublimeMerge。然後,您可以按照以下步驟執行基本操作:1.建立程式碼庫svnmkdirHttp://exampl

Python開發經驗分享:如何進行版本控制與發布管理 Python開發經驗分享:如何進行版本控制與發布管理 Nov 23, 2023 am 08:36 AM

Python開發經驗分享:如何進行版本控制和發布管理引言:在Python開發過程中,版本控制和發布管理是非常重要的環節。透過版本控制,我們可以輕鬆追蹤程式碼的變更、協同開發、解決衝突等;而發布管理則能夠幫助我們組織程式碼的部署、測試和發布流程,確保程式碼的品質和穩定性。本文將從版本控制和發布管理兩個方面,分享一些Python開發中的經驗和實踐。一、版本控製版本控

PHP 程式碼版本控制與協作 PHP 程式碼版本控制與協作 May 07, 2024 am 08:54 AM

PHP程式碼版本控制:PHP開發中常用的版本控制系統(VCS)有兩個:Git:分散式VCS,開發人員本地儲存程式碼庫副本,方便協作和離線工作。 Subversion:集中式VCS,程式碼庫唯一副本儲存在中央伺服器上,提供更多控制。 VCS幫助團隊追蹤變更、協作並回滾到早期版本。

Java開發中如何進行版本控制與程式碼管理 Java開發中如何進行版本控制與程式碼管理 Oct 09, 2023 am 08:46 AM

Java開發中如何進行版本控制和程式碼管理,需要具體程式碼範例摘要:隨著專案規模的擴大和團隊協作的需要,版本控制和程式碼管理成為了Java開發中至關重要的方面。本文將介紹版本控制的概念、常用的版本控制工具,以及如何進行程式碼管理。同時,也將提供具體的程式碼範例以幫助讀者更好地理解和實踐。一、版本控制的概念版本控制是一種記錄文件內容變更的方式,以便將來查閱特定版本的文件

Git 還是版本控制? PHP 專案管理中的關鍵區別 Git 還是版本控制? PHP 專案管理中的關鍵區別 Mar 10, 2024 pm 01:04 PM

版本控制:基礎版本控制是一種軟體開發實踐,允許團隊追蹤程式碼庫中的變更。它提供了一個中央儲存庫,其中包含專案文件的所有歷史版本。這使開發人員能夠輕鬆回滾錯誤,查看不同版本的差異,並協調對程式碼庫的並發變更。 Git:分散式版本控制系統git是一種分散式版本控制系統(DVCS),這表示每個開發人員的電腦都擁有整個程式碼庫的完整副本。這消除了對中心伺服器的依賴,提高了團隊的靈活性和協作能力。 Git允許開發人員建立和管理分支,追蹤程式碼庫的歷史,並與其他開發者共用變更。 Git與版本控制:關鍵區別分散式vs集

Git 必知秘技:讓 Java 開發驚人全場 Git 必知秘技:讓 Java 開發驚人全場 Mar 06, 2024 am 08:25 AM

1.分支與合併分支允許您在不影響主分支的情況下試驗程式碼變更。使用gitcheckout建立新分支,並在嘗試新功能或修復錯誤時使用它。完成後,使用gitmerge將變更合併回主分支。範例程式碼:gitcheckout-bnew-feature//在new-feature分支上進行更改gitcheckoutmaingitmergenew-feature2.暫存工作使用gitadd將您要追蹤的變更新增至暫存區。這使您可以選擇性地提交更改,而無需提交所有修改。範例程式碼:gitaddMyFile.java3

如何在PHP開發中進行版本控制與程式碼協作? 如何在PHP開發中進行版本控制與程式碼協作? Nov 02, 2023 pm 01:35 PM

如何在PHP開發中進行版本控制與程式碼協作?隨著互聯網和軟體產業的迅速發展,軟體開發中的版本控制和程式碼協作變得越來越重要。無論是獨立開發者還是團隊開發,都需要一個有效的版本控制系統來管理程式碼的變更和協同工作。在PHP開發中,有幾個常用的版本控制系統可以選擇,如Git和SVN。本文將介紹如何在PHP開發中使用這些工具來進行版本控制和程式碼協作。第一步是選擇適合自己

如何進行C++程式碼的版本控制? 如何進行C++程式碼的版本控制? Nov 02, 2023 pm 04:35 PM

如何進行C++程式碼的版本控制?引言:隨著軟體開發的不斷發展,程式碼的版本管理變得至關重要。版本控制是一種管理和追蹤程式碼變化的機制,旨在提高程式碼開發和維護的效率。對於C++開發人員來說,版本控制是不可或缺的工具,本文將介紹如何進行C++程式碼的版本控制,以幫助開發人員更好地管理和追蹤程式碼變化。一、選擇適當的版本控制系統在開始進行C++程式碼的版本控制前,首先需要選

See all articles