nvm :一个开源的node 版本管理器,通过简单的shell脚本来管理和切换多个node.js版本.
nvm: 除了安装方便,还可以随意切换所需要安装的Node.js版本
还可以免除安装权限问题(因为通过nvm命令安装的node.js位于用户目录下而非系统目录下)在用npm 安装全局模块的时候,可以免除操作系统超级用户授权问题。
nvm window版本下载地址:
-
链接:pan.baidu.com/s/1DEk3-VJg…
备注: 此链接为本人网盘链接,课放心使用 -
github.com/coreybutler…
注意: github服务器在国内较少,下载速度会很慢
详细讲解安装地址:blog.csdn.net/qq\_4440164…
mac下安装: www.jianshu.com/p/262c75434… 看此帖子
1、从github下载nvm仓库到 ~/目录 地址:github.com/nvm-sh/nvm.…
2、cd到安装目录,进入 nvm目录中执行install.sh 等待执行完成,可以直接把安装目录里面的 install.shell 拖到终端窗口执行。
3. 打开home目录,或者把home即你的账号目录,拖到vscode里面,可以看到隐藏文 件.bash_profile
把下面设置环境变量代码复制进去
export NVM_DIR="$HOME/.nvm"
[ -s "NVM\_DIR/nvm.sh" \] && \\. "NVM_DIR/nvm.sh"
# This loads nvm
[ -s "NVM\_DIR/bash\_completion" \] && \\. "NVM_DIR/bash_completion"
# This loads nvm bash_completion
4、执行source ~/.bash_profile
5. nvm --version 验证安装是否成功
nvm操作
①:使用 nvm install 版本号, 也可直接输入nvm install node 最新版本
②:使用 nvm list 或 nvm ls 可查看当前安装的node版本
③:使用 nvm use 版本号,可以切换当前使用的node
④:使用 nvm alias default node版本 可以指定默认打开终端时的node版本
用nvm安装的node 在如此目录下: /Users/home/.nvm/versions/
如果经常切换模块,最痛苦的莫过于全局模块需要重新安装,比如全局安装了gulp-cli模块之后又要重新安装一个node.js版本。
那么此时的gulp 的命令是无法使用的,唯一的做法就是重新安装全局的模块,针对这种情况,nvm提供了一个很贴心的一键安装全局模块的nvm reinstall-packages
nvm的默认远端下载地址是 官网
可以通过 NVM_NODEJS_ORG_MIRROR=指定网址来下载
nvm install v10.8.1
nvm use
nvm ls
nvm ls-reomte
nvm reinstall-packages
这六个命令在常规开发中已经够用了
还可以在项目的根目录下创建.nvmrc文件来指定特定的Node.js版本
就可以自动切换到该版本
npm
如果不是使用nvm安装的,安装包将放在/usr/local下, 安装全局模块需要超级用户授权,如果是使用nvm安装的,则需要将安装包放到用户目录的nvm版本对应的bin目录 ~/.nvm/versions/node/v6.0.0/bin/下,一般用户对于用户目录下的所有文件拥有完整的权限,所以不需要增加sudo授权
采用nvm安装Node.js之后,基本上不会再遇到全局安装时的权限问题,安装包存在于用户目录的nvm版本对应的bin目录下,不用加sudo授权,对于初学者而言,经常呢遇到Linux或者macOS系统权限问题
为了避免引用模块的缺失,保证依赖模块都出现在package.json里,使用npm i --save是个好习惯
nrm
可以帮助我们简单,快速地在不同的npm之间进行切换,它默认内置了很多常用的用源,包括
npm, cnpm , taobao , nj , rednpm , npmMirror等,还可以通过nrm add命令来维护自己的源。
nrm本身是Node.js模块,所以是需要通过npm来安装的
npm install -g nrm
nrm --version
为了确定那个源下载的更快可以,可以通过
nrm test 测速
npm ---- 3284ms
yarn --- 5534ms
cnpm --- 2534ms
* taobao - 619ms
nj ----- Fetch Error
npmMirror 2551ms
edunpm - Fetch Error
* 代表正在使用的源
查看源
nrm ls
npm -------- registry.npmjs.org/
yarn ------- registry.yarnpkg.com/
cnpm ------- r.cnpmjs.org/
* taobao ----- registry.npm.taobao.org/
nj --------- registry.nodejitsu.com/
npmMirror -- skimdb.npmjs.com/registry/
edunpm ----- registry.enpmjs.org/
切换源
nrm use cnpm
nrm use cnpm
输出 Registry has been set to: r.cnpmjs.org/
增加源
为了保证开发效率,企业内网部署的一套私有npm源是非常有必要的
内网安装,安装速度快
私有模块,仅供企业内部使用,更加安全
适合多团队开发,前后端都以使用私有源来进行管理
通过nrm 添加自定义的npm源的命令如下,推荐使用cnpm 部署私有的源镜像服务器, cnpm本身是 private npm for company的缩写,就是为企业应用而生的意思
nrm add yourcompany registry.npm.yourcompany.com/
从源代码进行编译node
Node.js源代码是典型的c/c++代码,使用make作为构建工具,所有和其他c/c++项目从源码进行编译并没有什么区别,只是要准备好依赖
sudo apt-get install g++ curl libassl-dev apache2-utils git -core build-essential
下载并编译
git clone github.com/nodejs/node…
cd node
./configure
make
sudo make install