Node.js是一个能够在服务器端运行JavaScript的开放源代码、跨平台JavaScript运行环境。Node.js由Node.js基金会持有和维护,并与Linux基金会有合作关系。Node.js采用Google开发的V8运行代码,使用事件驱动、非阻塞和异步输入输出模型等技术来提高性能,可优化应用程序的传输量和规模。这些技术通常用于数据密集的事实应用程序。

Node.js大部分基本模块都用JavaScript语言编写。在Node.js出现之前,JavaScript通常作为客户端程序设计语言使用,以JavaScript写出的程序常在用户的浏览器上运行。Node.js的出现使JavaScript也能用于服务器端编程。Node.js含有一系列内置模块,使得程序可以脱离Apache HTTP Server或IIS,作为独立服务器运行。

目前,Node.js已被IBM、Microsoft、Yahoo!、Walmart、Groupon、SAP、 LinkedIn、Rakuten、PayPal、Voxer和GoDaddy等企业采用。

安装

1、版本说明

Node.js分为LTS版和Current版。LTS版本代表长久支持版,就是说如果以后出现了什么漏洞需要打补丁等,LTS版会得到长期的版本稳定支持,但是Current版本就不一定会得到修复。

so,我们下载时,如果不是个人开发练习用的话,一般都会下载最新LTS版本作为生产版本。目前最新LTS版为:V6.11.2。

2、安装前准备

在Node.js包下载后需要解压和编译,这时就需要依赖zip包和c编译工具gcc、g++、make,所以要提前把这些装好。

分别执行以下2条命令,来安装zip uzip、c编译工具:

$ sudo apt-get install zip unzip
$ sudo apt-get install gcc g++ make

3、分别执行以下6句,分别代表:下载、解压、进入文件夹、配置、编译、安装

其中:make这一步时间会很久,看电脑配置高低,如果是虚拟机中运行,40分钟到1个小时也是可能的。要有耐心。

$ wget https://nodejs.org/dist/v6.11.2/node-v6.11.2.tar.gz
$ tar xvf node-v6.11.2.tar.gz
$ cd node-v6.11.2/
$ ./configure
$ make
$ sudo make install
对于.xz结尾文件,比如“node-v8.9.0-linux-x64.tar.xz”,要先通过xz -d解压成tar文件,再用tar xvf 解压,解压后的文件夹没有configure文件说明是已编译的软件包,可以直接运行的,可以把链接添加到sh,然后就可以直接输入node命令运行它了,添加链接示意:
$ echo "export PATH=$PATH:/opt/node-v8.9.0-linux-x64/bin" >> ~/.bashrc
$ source .bashrc

执行完成后,按照以下命令查看版本。node -v是查看nodejs的版本;npm -v是查看nodejs的包管理工具npm的版本。

显示出版本信息表示安装成功!

$ node -v
$ npm -v  

安装cnpm

说明:cnpm是国内源(淘宝的)在国内使用npm会很慢,cnpm会快一些,如果有代理就不需要安装。

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

关于Node.js的npm使用方法,会在后续的文章中讲如何安装前端构建工具gulp以及使用方法。

ubuntu下Node.js环境搭建的更多相关文章

  1. ubuntu下node.js 环境搭建

    由于使用gulp.js来对前端项目进行管理,所以搭建了node.js的环境 首先, 需要安装node, npm 去官网下载安装包,解压后放到你的安装的目录.在这里我的是/opt/node-v6.11. ...

  2. widows下node.js环境搭建及运行js

    昨天刚刚开始学习node.js,网上一些教程不是很清楚,所以总结一下我的经验. 1.安装. 安装省略,就到官网上去下载安装一下就好.安装完成之后,打开cmd,输入"path",查看 ...

  3. Windows环境下Node.js环境搭建

    1.Node.js下载与安装 https://nodejs.org/zh-cn/download/ Windows现在windows安装包(.msi),现在后手动安装,安装目录无要求,选项默认即可 2 ...

  4. paip.最好的脚本语言node js 环境搭建连接mysql

    paip.最好的脚本语言node js 环境搭建连接mysql #====下载node...走十一个exe..容易的.. 1 #0----Hello world   .js 2 #---------模 ...

  5. Node.js环境搭建和学习(windwos环境)

    Node.js环境搭建和学习 一.环境搭建 1.下载安装文件 下载地址http://nodejs-org.qiniudn.com/下载Node.js环境安装包,根据操作系统下载对应的安装包 下载地址 ...

  6. Node.js环境搭建&&npm安装

    Node.js环境搭建 什么使Node.js呢?我们知道JavaScript开始作为客户端语言,但早已在浏览器端一统江湖,这时,野心越来越大,它就想向服务器端拓展了,于是Node.js就是这样的,我们 ...

  7. Node.js 环境搭建及简单应用

    Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型.如果你想创建自己的服务,那么Node.js是一个非 ...

  8. ubuntu下mysql的环境搭建及使用

    ubuntu下mysql的环境搭建及使用 环境安装 使用如下命令分别安装服务端程序,客户端程序,及客户端依赖库 sudo apt-get install mysql-server sudo apt-g ...

  9. ubuntu下python flask环境搭建

    ubuntu下python flask环境搭建 1. 安装pip sudo apt-get install python-dev pyhton-pip 2. 安装virtualenv sudo apt ...

随机推荐

  1. HTTP 1.0 Status Code Definitions

    part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 10 Status Code Definitions ...

  2. Sketch 和 PS中的设计图如何实现“自动切图”?

    切图是很多UI设计师的一项日常工作.平时做完设计图,要将设计稿切成便于制作成页面的图片,并标注好尺寸和间距,交付给前端来完成html+css布局的静态页面,有利于交互,形成良好的视觉感. 但有的认为前 ...

  3. python上下文管理协议

    所谓上下文管理协议,就是咱们打开文件时常用的一种方法:with __enter__(self):当with开始运行的时候触发此方法的运行 __exit__(self, exc_type, exc_va ...

  4. Web Api 2 认证与授权 2

    HTTP Message Handler 在 Web Api 2 认证与授权 中讲解了几种实现机制,本篇就详细讲解 Message Handler 的实现方式 关于 Message Handler 在 ...

  5. java中HashMap的基本方法使用

    遍历,添加词,等等 package test; import java.util.HashMap; import java.util.Iterator; import java.util.ArrayL ...

  6. 5. Longest Palindromic Substring - Unsolved

    https://leetcode.com/problems/longest-palindromic-substring/#/description Given a string s, find the ...

  7. iOS知识基础篇--@property,@synthesize, nonatomic,atomic,strong,weak,copy,assign,retain详解

    一.@property 这个关键词的唯一作用就是声明getter.setter方法接口. 二.@synthesize 实现setter.getter方法,找不到实例变量则主动创建一个. 三.nonat ...

  8. Codeforces gym 102062 简要题解

    文章目录 A. Bob and BoB B. Vibranium Gift C. The Blood Moon D. Palindrome and Chocolate E. Jumpy Robot F ...

  9. 2018.11.24 poj3693Maximum repetition substring(后缀数组)

    传送门 后缀数组好题. 考虑枚举循环节长度lenlenlen. 然后考虑枚举循环节的起点来更新答案. 但是直接枚举每次O(n)O(n)O(n). 考虑枚举len∗k+1len*k+1len∗k+1作为 ...

  10. 指令发布中如何实现new新消息的提醒?

    设计思路:反馈后,最急需了解反馈结果的是申请人,故给每一条反馈信息添加一个查看状态的字段,如CK_STATUS,并为这个状态设计为char(1)类型,java bean中使用integer可以实现默认 ...