node 切換版本
一.npm切換node版本
使用npm 安裝一個(gè)模塊 modules 到全局
npm install -g modules
使用 n 加版本號就可以安裝其他版本埂息,比如:
modules 6.11.3
-
再使用 n 弟劲,通過上下鍵,就可以選擇不同的版本啦
(注意盲憎,是從低版本升到高版本時(shí)多版本共存戒劫;如果是已經(jīng)安裝了高版本半夷,再安裝低版本時(shí),高版本就沒有了)
二.nvm切換node版本
- 下載某版本node
nvm install v8.11.3
- 切換到某版本Node
nvm use v8.11.3
其他命令
三.npm其他命令
安裝包
npm install modules
迅细,npm install
npm install命令以后會根據(jù)package.json 去下載相關(guān)依賴包.卸載模塊
npm uninstall
更新模塊
npm update modules
-
檢查過時(shí)模塊
npm outdated [modules]
查看安裝的模塊
npm ls
在項(xiàng)目中引導(dǎo)創(chuàng)建一個(gè)package.json 文件
npm init
查看某條命令的詳細(xì)幫助
npm help
查看包的安裝路徑
npm root
管理npm的配置路徑
npm config
啟動(dòng)模塊巫橄,停止模塊
npm start
,npm stop
重新啟動(dòng)模塊
npm restart
測試模塊
npm test
查看模塊版本
npm version
查看模塊的注冊信息
npm view
-
用戶登錄
npm adduser
發(fā)布模塊,撤銷發(fā)布
npm publish
疯攒,npm unpublish <package>@<version>
在發(fā)布的包上設(shè)置訪問級別
npm access
配置cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
可以清空NPM本地緩存嗦随,用于對付使用相同版本號發(fā)布新版本代碼的人
npm cache clear
四.nvm其他命令
- 安裝最新穩(wěn)定版 node
nvm install stable
,nvm use node
- 給版本起別名
nvm alias awesome-version 4.2.2
- 取消別名
nvm unalias awesome-version
- nvm切換node版本的時(shí)候敬尺,將全局npm包一鍵切換(重下載原版本Npm包)
nvm install v5.0.0 --reinstall-packages-from=4.2
- 想安裝最新的 4.2 系列的最新的一個(gè)版本
nvm install 4.2
- 列出遠(yuǎn)程服務(wù)器上所有的可用版本,Windows 的話枚尼,
nvm ls-remote
,nvm ls available
- 列出已安裝
nvm ls
- 直接運(yùn)行特定版本的 Node
nvm run 4.2.2 --version
- 在當(dāng)前終端的子進(jìn)程中運(yùn)行特定版本的 Node
nvm exec 4.2.2 node --version
確認(rèn)某個(gè)版本Node的路徑
nvm which 4.2.2
npm 砂吞,nvm相關(guān)問題
- 安裝 nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
- 全局安裝和本地安裝
全局安裝是安裝一個(gè)工具署恍,他不是安裝在一個(gè)文件夾下,而是安裝在某個(gè)全局環(huán)境下蜻直,一般安裝的路徑為 /usr/local 下或者你 node 的安裝目錄盯质。,全局安裝在命令行中任何地方都可以直接調(diào)用概而。
局部安裝是將項(xiàng)目安裝以后呼巷,在./node_modules下面(運(yùn)行 npm 命令時(shí)所在的目錄),然后在項(xiàng)目中通過require等方式引用赎瑰,這樣安裝后只能在本項(xiàng)目中使用王悍。
通常情況下的引入模塊是通過兩種方式,一種是全局模塊餐曼,通過NODE_PATH下去尋找压储;~另一種是通過./node_modules取尋找鲜漩。
- 當(dāng)希望在項(xiàng)目中通過require來實(shí)現(xiàn)明顯的依賴關(guān)系,必須使用本地安裝_(全局安裝的文件復(fù)制過來集惋,或者相對孕似,絕對的引入方式都可以,但過于麻煩刮刑。)喉祭;
- 在不同的項(xiàng)目中所需要的模塊的版本是不同的,或者可能對某些模塊進(jìn)行重新命名为朋,將導(dǎo)致一個(gè)項(xiàng)目重命名影響全局臂拓。
- 本地安裝的重要性:項(xiàng)目中需要的多個(gè)包之間相互依賴,若使用全局包习寸,那么每次包的升級胶惰,更新就會影響多個(gè)項(xiàng)目,依賴關(guān)系會被破壞霞溪,所以使用本地安裝有利于不同項(xiàng)目之間的獨(dú)立性孵滞。
綜上:除了工具類webpack,babel,以外建議本地安裝鸯匹,保證各自項(xiàng)目之間相互獨(dú)立坊饶。
- npm install X、npm install X -save殴蓬、npm install X -save-dev的區(qū)別匿级?
- npm install X:會把X包安裝到node_modules目錄中,不會修改package.json,之后運(yùn)行npm install命令時(shí)染厅,不會自動(dòng)安裝X
- npm install X -save:會把X包安裝至node_modules目錄中痘绎,會在package.json的dependencies屬性中添加X,之后運(yùn)行npm install命令會自動(dòng)安裝X到node_modules中(運(yùn)行時(shí)需要引用的包)
- npm install X -save-dev:會把X包安裝到node_modules目錄中,會在package.json的devDependencies屬性下添加X之后運(yùn)行npm install命令時(shí)肖粮,會自動(dòng)安裝X到node_modules目錄中(開發(fā)過程需要使用的包)
-
npm工作原理
版本號詳解
語義版本號分為X.Y.Z三位孤页,分別代表主版本號、次版本號和補(bǔ)丁版本號涩馆。當(dāng)代碼變更時(shí)行施,版本號按以下原則更新。
如果只是修復(fù)bug魂那,需要更新Z位蛾号。
如果是新增了功能,但是向下兼容涯雅,需要更新Y位须教。
如果有大變動(dòng),向下不兼容,需要更新X位轻腺。
- 使用nvm和n的區(qū)別
n是一個(gè)需要全局安裝的npm 包。
在使用n管理node版本之前划乖,先需要一個(gè)node環(huán)境贬养,然后使用n來安裝不同版本的node.安裝時(shí),n會先將指定版本的node存儲下來琴庵,然后將其賦值到我們熟知的路徑/usr/local/bin误算,非用戶目錄需要在命令前加sudo.
nvm是一個(gè)獨(dú)立軟件包,不是npm package,所以需要單獨(dú)安裝nvm.然后使用nvm來安裝不同版本的node.
安裝時(shí)迷殿,nvm將不同的node版本存儲在~/.nvm/<version>/下儿礼,然后修改$PATH,將指定版本的路徑加入,這樣調(diào)用node命令即是使用指定版本的node.
對比:nvm比n復(fù)雜庆寺,但它是一個(gè)獨(dú)立軟件包蚊夫,nvm不依賴node環(huán)境,是node依賴nvm;而n依賴于node.
n對全局模塊無作用懦尝,有可能在切換了node版本后發(fā)生全局模塊執(zhí)行出錯(cuò)的問題知纷;nvm切換版本后,由于nvm全局模塊存在于各自版本的沙箱中陵霉,需重新安裝琅轧,不同版本不存在任何沖突。
注:- nvm不支持Windows;
- node路徑:/usr/local/bin;nvm需手動(dòng)指定路徑踊挠。
- 使用 .nvmrc 文件配置項(xiàng)目所使用的 node 版本
-
卸載已安裝到全局的 node/npm