如何自動根據不同項目切換不同的Node.js版本


問題背景
很多場景下我們需要同時使用多個不同版本的Node.js。比如:你有多個項目,這些項目由於開始時間不同,用的Node.js版本都會不同;又或者你現在項目用的是4.x.x,但是你想試試下一個LTS版本——6.x.x。這些情況下,你會發現你每次都要去切換Node.js的版本,哪怕你用NVM來管理多個Node.js,切換也都需要執行nvm use ...命令。有的時候會忘記導致很多不必要的麻煩!

那么怎么樣才能根據不同的項目自動切換對應的Node版本呢?

思路
先拋開是否有工具可以幫我們完成這件事情。我們先來想一下如果讓你來實現這樣一個功能,你會怎么做?

首先,你至少需要申明你各個項目所需要的Node版本號,那么最方便的就是:

  1. 直接申明在 package.json
  2. 單獨在項目根目錄中某個文件中(文件名約定好)申明

然后,我們需要一個觸發點,這個觸發點可以讓你去根據上述提到的文件中獲取到 Node 版本號並自動切換。而這個切換點最好的當然是cd命令。因為我們總是需要先cd到項目目錄中去。

好了,以上就是我們的思路,匯總下來就是:

  1. 在項目根目錄中需要一個地方來申明需要的 Node 版本號
  2. 當用戶“進入”到項目中的時候,自動根據申明的 Node 版本號進行自動切換

解決方案
社區已經有類似我們上述思路的工具,這里推薦avn-Automatic Version Switching for Nodeavn 提供了 nvm的插件(當然也有n的插件),使用起來非常簡單(以NVM為例),直接:

npm i -g avn avn-nvm
avn setup

然后呢,只要在你的項目根目錄下創建一個.node-version文件,並且以semver的格式來申明所需要的 Node 的版本號,如:4.5.0

接着,當你cd到項目目錄中的時候,avn 就會自動幫你切換到指定的 Node 版本。非常方便!

 

 

轉載自:https://www.jianshu.com/p/0246d160cfed


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM