问题场景
当线上服务器跟本地开发环境的node版本不一致时,可能出现开发时没问题,但部署时失败或者部署上线后运行出错的问题。
解决思路
在项目目录下,配置node的版本,当cd到该目录时,自动按照配置切换node版本
效果图
如图可见我的默认node版本时5.2.0,然后cd到auto-check-node-version目录下时,node版本按照配置切换到了4.2.2版本
具体实现
首先需要安装有shell工具 oh my zsh。(就算不打算配置本文所说内容,也强烈推荐安装oh my zsh,可以先去了解一下,我想了解过后,肯定会爱上它的)
-
有了zsh,然后需要安装一款主题,叫做spaceship github地址
curl -o - https://raw.githubusercontent... | zsh
-
安装完spaceship主题后,shell窗口就已经自动显示node版本,但要做到自动切换,还需要继续配置,vim ~/.zshrc 启动编辑,在最后面添加:
# auto check node version autoload -U add-zsh-hook load-nvmrc() { if [[ -f .nvmrc && -r .nvmrc ]]; then nvm use fi } add-zsh-hook chpwd load-nvmrc load-nvmrc
最后在项目根目录下配置.nvmrc 指定希望的node版本即可。
结语
通过这样的方式,就可以在开发机上自动给项目指定运行的node版本了,而不用手动切换,同时,shell窗口自动显示node版本的功能也很赞。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。