用 apt-get 安装 node 和用 nvm 安装 node

作者: rangel | 来源:发表于2016-10-07 22:22 被阅读702次

    初识 apt-get 和 nvm


    apt-get

    • 是什么
      在各个平台都有相关的包管理工具,比如 ubuntu 下面有 apt-get,centos 下面有 yum,mac 下面有 brew 等,它们都是安装软件的非常方便的利器,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统
    • 如何使用 apt-get 安装 node
    $ sudo apt-get install nodejs
    $ sudo apt-get install npm
    

    这里,因为使用 apt-get 安装的 node 的包管理工具 npm 并没有初始安装,所以需要安装 npm

    • 查看安装版本
    • 查看 node 版本
    $ node --version
    v6.3.0
    
    • 查看 npm 版本
    $ npm  --version
    3.10.3
    

    在查看版本号时,也可以通过 -v 命令查看,比如: node -vnpm -v

    • 怎么使用 node
    • 进入 node 环境
     $  node
     > 
    

    $ nodejs
    >
    

    通过 > 可以看出现在已经进入 node 环境

    • 运行 js 文件,例如运行 hello.js
    $ nodejs hello.js
    

    $ node hello.js
    

    nvm

    • 是什么
      nvm是一个开源的 Node 版本管理器,通过简单的 bash 脚本来管理、切换多个 Node.js 版本,使用 nvm 可以安装官网最新版本之前的任意版本,可以任意切换不同版本
    • 如何使用 nvm 安装 node
    • 首先我们需要安装 nvm
    $ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.29.0/install.sh | bash
    
    • 接下来查看一下 node 有哪些版本可以安装
    $ nvm ls-remote
    
             v6.1.0  
             v6.2.0  
             v6.2.1  
             v6.2.2  
             v6.3.0  
             ....
    
    • 下载所需要的 node 版本,比如说我们需要 v6.3.0 版本
    $ nvm install v6.3.0
    
    • **查看安装版本和使用 node 的方法 和 apt-get 相同,这里不再复述 **
    • 使用 nvm 切换 node 版本
    • 查看当前已安装版本
    $ nvm ls
     ->       v6.3.0  
    default -> v6.3.0
    node -> stable (-> v6.3.0) (default)
    stable -> 6.3 (-> v6.3.0) (default)
    iojs -> N/A (default)
    lts/* -> lts/argon (-> N/A)
    lts/argon -> v4.6.0 (-> N/A)
    

    从运行结果可以看出,当前电脑上的 node 版本只有一个 v6.3.0,并且当前正在使用的版本也是 v6.3.0,默认的版本同样也是 v6.3.0

    • 例如要使用 v4.4.5 版本,首先安装该版本(可以先使用 nvm ls-remote 查看所有版本)
    $ nvm install v4.4.5
    
    • 使用 use 命令切换至该版本
    $ nvm use v4.4.5
    Now using node v4.4.5 (npm v2.15.5)
    
    • 设置默认版本
    $ nvm alias default v6.3.0
    

    如果没有设置 default 默认开机 node 是没有启动的,所以可能会报找不到 node 命令的错误,因此我们需要设置默认版本

    • 卸载某个 node 版本,例如卸载 v4.4.5 版本
    $ nvm uninstall v4.4.5
    

    个人建议

    • 个人平时使用 node 时,习惯使用 node 命令,毕竟少输个 “js”,节省时间
    • 安装 node 时,node 各个版本特性不同,对于 Node.js 这个版本帝而言,很多项目需要使用不同版本的 node 开发机器上可能要同时存在几个 Node.js 的大版本,所以建议大家使用 nvm 方式安装 node

    两种方式安装的具体差异


    • 安装版本
      • apt-get
        不是最新版本(在linux下默认源中没有 node 的程序),安装的版本有且只有一个,而且执行sudo命令的时候,是以超级管理员身份运行,以后你用npm是以管理员权限执行的,所以别人就可以更改系统文件,会造成安全性问题,具体细节可听下回分解
    • nvm
      可以供我们选择要安装的版本,并且则解决了多版本共存、切换问题,但在安装之前,请确认本机以前的安装包已经被卸载
    • 安装目录(终端通过 whereis node 查看)
    • apt-get
     /usr/local/bin/node
    
    • nvm
    /home/xxx/.nvm/versions/node/v6.3.0/bin/node
    

    nvm 使用 node 切换版本内部实现原理


    实现原理:在一个目录下存放多个版本的目录,在切换时候将相应的版本路径加入 PATH 中,从而实现版本的切换,例如从 v6.3.0 切换到 v4.4.5 具体流程如下:

    • 查看一下当前使用的 node 版本
    $ node --version
      v6.3.0
    
    • 现在来看一下 node 环境变量
    $ echo $PATH    
    /home/guoru/.nvm/versions/node/v6.3.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    

    通过环境变量我们可以看出,现在使用的 node 版本是 v6.3.0

    • 使用 nvm use v4.4.5 切换版本,并且查看环境变量
    $ nvm use v4.4.5
    Now using node v4.4.5 (npm v2.15.5)
    $ echo $PATH    
    /home/guoru/.nvm/versions/node/v4.4.5/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    

    可以看出环境变量已经将 PATH 路径中的版本改为 v4.4.5版本了

    总结


    如果您是一个前端开发人员,建议您使用 nvm 来安装 node,如果您是一个普通的用户,建议您使用 apt-get 安装 node 。

    相关文章

      网友评论

      • 07bbf8cdead6:厉害了
      • rangel:那我还是觉得把他移除吧,因为我们其实并不是很理解它😀
      • 6d96978eeefb:还是觉得最后一段“启动 node 时内部实现过程”有点乱,即使这一块内容有点难,但是如果仔细的想,还是可以把它分成几块内容,每一块都有自己的重点,“比如param”,比如一些醒目的关键字。

        另外也可以把这一块从这篇文章中移除,另写一篇,然后在这里加一个链接过去。如果你把它当成一篇新的文章来写,心态就会不一样,就会写得比较仔细了。

      本文标题:用 apt-get 安装 node 和用 nvm 安装 node

      本文链接:https://www.haomeiwen.com/subject/diwyyttx.html