第一步,先安装tvm

tnvm(Taobao Node Version Manager)淘宝Node版本管理器

安装:

直接输入

wget -O- https://raw.githubusercontent.com/aliyun-node/tnvm/master/install.sh | bash

等待完成后,输入

export METHOD=script

添加环境变量,在输入

source .bashrc

使环境变量生效来安装完成。如果遇到什么问题,可以去git上看。一般是没什么问题的。

第二步,安装Nodejs

先查看服务器上有哪些版本的nodejs可以安装,输入

tnvm ls-remote node

然后选择一个版本进行安装,我选择最新的node-v7.0.0来安装,输入

tnvm install node-v7.0.0

等待安装完成。通过命令

tnvm use node-v7.0.0

将node切换为7.0.0的版本,输入

node -v

可以看到v7.0.0。至此,nodejs就安装完成了。

你也可以通过 tnvm install 命令安装其他的版本的 node 再通过 tnvm use 来切换版本。

第三步,设置多个版本的node共用一个npm的全局目录

在ubuntu下,npm的全局目录默认在每个node版本的目录里面,假如你安装了两个版本的node分别为6.0.0和7.0.0,那么它们的npm全局目录分别为

.tnvm/versions/node/v6.0.0/lib/node_modules/

.tnvm/versions/node/v7.0.0/lib/node_modules/

如果你在7.0.0的版本里面装了一个全局模块,如果要在6.0.0的版本中使用的话,那么就要再重新装过一次,实在麻烦。

从上面可以看出,要重新安装的原因在与全局目录为两个目录,那么只要把设置为一个文件夹就行了。

那么就把全局目录设置为

.tnvm/lib/node_modules/

,把所有版本的全局模块目录都指向他,就行了。

注:公用目录不要使用上面的那两个,会有问题

先切换到用户根目录,输入

cd

再输入

npm set prefix ".tnvm/"

再加两个环境变量,打开.bashrc文件

# 全局模块加载路径
export NODE_PATH="/home/用户名/.tnvm/lib/node_modules/"
# 命令行环境变量
export PATH="/home/用户名/.tnvm/bin/":$PATH

使环境变量生效

source .bashrc

至此,设置完成。

如果使用root用户来安装的nodejs的话,那么就把上面两个路径分别改为

/root/.tnvm/lib/node_modules/
/root/.tnvm/bin/

就行了。

第四步,安装cnpm加速安装npm包

在国内使用npm来安装包,速度非常的慢,可以使用cnpm来加速安装,安装cnpm就一条命令

npm install cnpm -g --registry=https://registry.npm.taobao.org

等待安装完成之后,可以使用cnpm命令来下载和安装npm包了,用法和npm的用法是一样的。

记录一下。

ubuntu通过tnvm安装Nodejs的更多相关文章

  1. Linux(Ubuntu)下安装NodeJs

    用以下命令来升级系统,并且安装一些Node.JS必要的包. Linux(Ubuntu)下安装NodeJs 安装nodeJS之前,如果没有安装g++ make libssl-dev等, 1.更新系统和依 ...

  2. Ubuntu环境下安装nodejs和npm

    1.安装python-software-properties sudo apt-get install python-software-properties 2.添加ppa curl -sL http ...

  3. ubuntu 16.04 安装nodejs

    经过几天的尝试,终于装好了: 1. nodejs官方推荐一下安装方式: NodeSource的二进制安装脚本NodeSource Using Ubuntu curl -sL https://deb.n ...

  4. Mac /Ubuntu/Windows 下安装nodejs

    Mac If you're using the excellent homebrew package manager, you can install node with one command: b ...

  5. ubuntu 14.04安装nodejs

    http://stackoverflow.com/questions/32902699/cannot-install-ember-on-ubuntu-1404/33495134

  6. ubuntu18.04安装nodejs最新版、指定版 12.x 14.x

    今天准备在 ubuntu 服务器里面安装 nodejs 版本,ubuntu 18.04 仓库 nodejs 默认是 8.x 版本. 1. 通过 apt 安装 nodejs 在 Ubuntu 18.04 ...

  7. 在Linux(ubuntu server)上面安装NodeJS的正确姿势

    上一篇文章,我介绍了 在Windows中安装NodeJS的正确姿势,这一篇,我们继续来看一下在Linux上面安装和配置NodeJS. 为了保持一致,这里也列举三个方法 第一个方法:通过官网下载安装 h ...

  8. Ubuntu学习总结-07 Nodejs和npm的安装

    一 安装NodeJS 1 下载nodejs源码 从以下网址下载最新的Nodejs源码 https://nodejs.org/en/download/ 2 安装依赖的 python,gcc,g++ 函数 ...

  9. Angularjs学习---angularjs环境搭建,ubuntu 12.04下安装nodejs、npm和karma

    1.下载angularjs 进入其官网下载:https://angularjs.org/‎,建议下载最新版的:https://ajax.googleapis.com/ajax/libs/angular ...

随机推荐

  1. 基于python第三方requests 模块的HTTP请求类

    使用requests模块构造的下载器,首先安装第三方库requests pip install requests 1 class StrongDownload(object): def __init_ ...

  2. Ueditor文件上传问题

    我们在做一些网站是会遇到,要有上传文件一类的事情. 我发现百度的富文本编辑器带上传功能,但是没有办法给后台传递我们要的参数. 先在ueditor.all.js中找到, me.execCommand(' ...

  3. git的一些疑难点

    一 .git reset,git revert,git checkout的区别和联系 主要参考:http://www.cnblogs.com/houpeiyong/p/5890748.html git ...

  4. 循序渐进看Java web日志跟踪(3)-Log4J的使用和配置

    之前说过关于java日志跟踪的几大主要用的框架,也说到了,其实在其中,Log4J充当着一个相当重要的角色.目前,大部分框架也都是采用的是Log4J,虽然说它已经停止了更新,作者也重新起了LogBack ...

  5. Front-End(五)——工具使用

    mac端推荐使用sublime+emmet. 环境搭建 sublime 官网下载sublime text 02或者03,03现在(2016.07)还是测试版,我使用的是text02. emmet su ...

  6. ACM第五次积分赛

    做出三道题,第二名,总积分上升到第八名,继续加油! SAU-ACM总比赛成绩 姓名     账号  上学期成绩 第一次成绩 第二次成绩 第三次成绩 第四次成绩 第五次成绩 总成绩 张国庆 143401 ...

  7. 问题: 在使用thinkphp自带分页类时,在设置尾页显示的最后一页时,用setConfig(“last”,”尾页”)来设置样式,发现无效。

    分析: 在分页类(/ThinkPHP/Library/Think/Page.class.PHP)里面有一个共有属性: public $lastSuffix = true; // 最后一页是否显示总页数 ...

  8. qmake 小结(Qt 5.4)

    FROMS 变量的定义必须在include之前. MOC_DIR UI_DIR RCC_DIR 的定义必须使用绝对路径.

  9. iOS项目导航栏返回按钮

    最近iOS项目中要求导航栏的返回按钮只保留那个箭头,去掉后边的文字,在网上查了一些资料,最简单且没有副作用的方法就是 [[UIBarButtonItem appearance] setBackButt ...

  10. C#拾遗(二、函数)

    1. 参数数组.C#的特色,允许函数参数的最后指定一个参数数组,可以使用个数不定的参数调用,用params关键字定义 static double SumVals(params double[] val ...