Martnn 2019-06-27
Mac上配置个Node还是很简单的,但是有些小坑和知识点,本文除了描述如何进行环境配置之外,还描述了两个坑:1)brew装nvm,重启终端后nvm失效 2)终端重启后,通过nvm安装的node、npm失效 以及两个知识点:1)nvm与n的区别 2)bash_profile,bashrc与zshrc的区别
官网:https://brew.sh/index_zh-cn.html
HomeBrew是MacOS上的包管理器,用于安装系统上没有预装的东西。我们用它来安装nvm。
安装:
// 打开zsh,输入 /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
PS: HomeBrew也可以用来装node,但是用nvm可以更方便的控制node的版本切换。
官网:https://github.com/creationix...
nvm用来进行node版本控制,我们使用HomeBrew来安装nvm。
brew install nvm
坑1: brew装nvm,重启终端后nvm失效
但是用brew安装nvm有个bug,安装时缺少了nvm.sh,这会导致每次重启终端,nvm命令就失效了,所以我们要每次运行下面的命令:
// 复制下面的代码到终端并运行 export NVM_DIR=~/.nvm source $(brew --prefix nvm)/nvm.sh
好了,现在nvm命令已经能被识别了,但是每次重启终端都要运行无疑是很复杂的,所以要在~/.zshrc
中配置一下,保证每次重启时,系统都能帮我们做一步。
在~/.zshrc
中添加上面的两行内容即可
下面使用nvm来安装node,命令依次如下:
nvm ls-remote // 查看当前提供node版本号 nvm install v8.11.3 // 我选择了stable版本 node -v // 安装完成后就可以查看node和npm的版本了 npm -v
坑2:终端重启后,通过nvm安装的node、npm失效
但是重启终端之后,node和npm也失效了,当时我就不想弄了,瞎搞啊这是。这是因为nvm没有默认绑定node的版本号,所以要手动绑定一下。
如果你还没有重启,node和npm命令还有效,那么直接运行下面的命令,如果已经无效,先重新用nvm安装node
nvm use v8.11.3 // 设置默认版本号 nvm ls // 查看默认是否已经设置成功,成功图如下 // 若是没有成功,再绑定一下默认版本号 nvm alias default v8.11.3
至此,node部署完成。
通过第一部分,我们已经成功在MacOS上部署了node环境,下面是部署过程中可能涉及的一些小知识点。
n: 全局安装的npm package。使用npm install -g n
安装,与node循环依赖。
nvm: 独立的软件包,不依赖node。
nvm有几点比n强:
当然,n能支持windows,使用也并不比nvm复杂,选择哪个都可以。
看教程的时候,动不动就要在上面的三个文件中读写。那么上面三个文件是干什么,以及有什么区别呢?
这三个文件都是来设置用户工作环境的文件。它们都是终端启动时默认运行的文件。只不过他们稍有区别。
Login Shell: 输入密码进入终端的shell环境叫做Login Shell,如ssh远程登陆[1]
no-Login Shell: 普通双击打开终端称为no-Login Shell,但是在Mac中,系统都会默认给Login Shell。