node 3M 安装法

145 阅读4分钟

nvm :一个开源的node 版本管理器,通过简单的shell脚本来管理和切换多个node.js版本.

nvm: 除了安装方便,还可以随意切换所需要安装的Node.js版本

还可以免除安装权限问题(因为通过nvm命令安装的node.js位于用户目录下而非系统目录下)在用npm 安装全局模块的时候,可以免除操作系统超级用户授权问题。

nvm window版本下载地址:

详细讲解安装地址: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