Ubuntu学习总结-07 Nodejs和npm的安装
一 安装NodeJS
1 下载nodejs源码
从以下网址下载最新的Nodejs源码
https://nodejs.org/en/download/
2 安装依赖的 python,gcc,g++ 函数库
运行以下安装依赖包的命令。
sudo apt-get install python
sudo apt-get install build-essential
sudo apt-get install gcc
sudo apt-get install g++
把node-v6.2.0.tar.gz上传至Ubuntu,解压缩安装包。
tar -zxf node-v6.2.0.tar.gz
cd node-v6.2.0
3 编译并安装nodejs
把nodejs安装在/opt/nodejs目录下。
./configure
make
make install
编译完成后,执行node发现还是不正确,执行
whereis node
发现node安装到了/usr/local/bin/node,于是执行这一步创建链接:
sudo ln -s /usr/local/bin/node /usr/bin/node
4 测试安装nodejs
在控制台输入查看版本命令和帮助命令。
### 查看版本
node --version
node -v ### 查看帮助
node --help
二 安装 npm
npm是node package manager的简称,npm是NodeJS的模块管理,执行以下命令,由于新版的nodejs已经集成了npm,所以npm也一并安装好了。同样可以通过输入 "npm -v" 来测试是否成功安装。命令如下,出现版本提示表示安装成功。
npm -v
三 NodeJS的使用
Node.js是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node.js对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。
Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。
node有两大特点:
- 基于事件驱动。
- 无阻塞。
无阻赛的特点使nodeJS非常适合处理并发请求,nodeJS其本质就是JavaScript,基于事件驱动(click, focus,mouseOver)。
JavaScript是单线程,所以要做到无阻塞,node是通过大量的回调函数来达到这一目的。
1 进入NodeJS控制台
在命令提示符下,需要输入node,然后回车就可以进入node在命令提示符下的交互环境了。

例子1 在nodejs的交互环境下,输入以下脚本:
var name ="zhangsan"
console.log( name ); console.log("hello nodejs");
例子2 创建一个helloworld.js,在控制台输出"hello world!".
helloworld.js
console.log('hello world');
保存该文件,并通过NodeJS 来执行。
node helloworld.js
2 开发简单的服务器端程序
nodeJS是遵循CommonJS规范的,既每个.js文件都是一个模块,模块的好处就是避免命名空间污染。倘若你想让一个模块对外暴露变量,可以用module.exports = variable;
而一个模块想要引用另一个模块对外暴露的变量,用require关键字就可以了,如var ref = require(‘module_name’);
创建server.js,保存下列代码。
//通过require将http库包含到程序中
var http = require("http");
//创建http服务器
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World !");
response.end();
}).listen(8888);
//让服务器监听8888端口
然后在nodejs交互环境中,输入如下命令:
node server.js
如果一切正常,会出现如下图所示:

然后在浏览器输入 http://localhost:8888/

尝试在server.js编写一些常用的js函数,比如以下脚本:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(, {"Content-Type": "text/plain"});
response.write("Hello World !");
response.end();
}).listen();
console.log('--- Server running! ---');
function sayHello( name){
console.log("hello " + name);
}
setInterval(function(){
console.log("The time is => "+new Date());
},);
sayHello( "zhangsan");
3 使用nodejs在输出网页
var http = require("http");
function onRequest( request, response){
response.writeHead(, {"Content-Type": "text/html;" });
response.write('<head><meta charset="utf-8"/></head>');
response.write("Hello World123, 山东");
response.end();
}
http.createServer(onRequest).listen();
资料参考:
http://www.runoob.com/nodejs/nodejs-tutorial.html
http://blog.csdn.net/awj3584/article/details/18401539
Ubuntu学习总结-07 Nodejs和npm的安装的更多相关文章
- ubuntu下nodejs和npm的安装及升级
ubuntu 下 nodejs 和 npm 的安装及升级 参考:https://segmentfault.com/a/1190000007542620 一:ubuntu下安装 node 和 npm命令 ...
- Nodejs 及 NPM 的安装
Nodejs 及 NPM 的安装,有两种方式: 方式1.Nodejs 及 NPM 一起安装 https://nodejs.org/en/download/ 下载 Windows Installe ...
- windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...
- nodejs和npm的安装
下载nodejs的压缩包 网址:https://nodejs.org/en/ 下载以tar.xz结尾的包例如:node-v8.9.4-linux-x64.tar.xz 上传包到制定的目录 可以用lrz ...
- ubuntu Nodejs和npm的安装
cnpm install -g XXX errors : npm i --registry=https://registry.npm.taobao.org 标签: nodejsnpm 20 ...
- 2-1 nodejs和npm的安装和环境搭建
1.安装node.js (最新已经集成npm) https://nodejs.org/en/ 2.升级npm $ npm install -g npm $ cnpm install -g cnpm ...
- Ubuntu学习小结(一) 基础知识,系统安装,软件安装,解压缩
这段时间,抽空研究了一下Ubuntu,虽然也有过到目前为止使用计算机最作死的经历,但目前已经学会了一些最基本的操作.在这里简单的记录一下,算是吸取的教训,供其他人借鉴. 1.装Ubuntu系统.装Ub ...
- nodejs以及npm的安装
参考资料:http://xiaoyaojones.blog.163.com/blog/static/28370125201351501113581/ 上面的仁兄说的比较清楚,基本解决了安装中遇到的问题 ...
- 【Linux/Ubuntu学习2】ubuntu-ubuntu10.04使用wine安装SourceInsight
1. 环境:ubuntu10.04 2. 安装 wine 关于 wine ,请参考这里.通过网络安装: $ sudo apt-get install wine 3. 安装 SourceInsight ...
随机推荐
- yum安装mysql和mysql源,配置mysql
申明,不要用root安装 1. 下载mysql的repo源 $ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm ...
- 一个语句创建Oracle所有表的序列
-- 动态创建序列 declare cursor c_job is select TABLE_NAME from user_tables; c_row c_job%rowtype; v_sql ); ...
- PS技巧:如何优雅的抠公章?
搞设计的很苦逼,整天面对各种各样任务,除了修图.排版外,还时不时会有些另类需求.这时如果掌握一些小技巧就不用临时抱佛脚啦. 下面献上一计:教大家怎么用PS抠公章.有需要的拿去,PS:不要干坏事吆! 效 ...
- Echarts 之三 —— 地市联动数据统计二
一.简介 除了是一个地图之外,我们也可以使用多地图进行地市.区县联动数据统计.需求如下:展示整改广东省的地图,并显示统计信息,当点击某一个地市的时候,就显示该地市的地图,并统计该地市区县的数据信息.二 ...
- NGUI 指定视口大小
由于只是给Uinty开发插件,对Unity没有系统的学习,对Unity的很多功能都不是非常了解,幸得其他Unity同事的耐心教导,才不至于想崩头.记录一下,避免重复犯错. NGUI可以建立指定视口大小 ...
- 2016款MACBOOK PRO触控条版 安装WIN10初体验 及 无奈退货记
新的2016MBP终于发布了,作为把苹果电脑装WIN使用的人,等候很久之后,终于可以行动了. 黄山松 (Tom Huang) 发表于博客园http://www.cnblogs.com/tomview/ ...
- 深入理解Thread.sleep的含义
转载一篇对sleep说的非常好的一篇文章,原文http://www.cnblogs.com/ILove/archive/2008/04/07/1140419.html 我们可能经常会用到 Thread ...
- C#如何使用Soap协议调用WebService?
WebService是什么?它的作用? WebService是一个平台独立.低耦合的.自包含的.基于可编程的可使用xml描述.调用的web应用程序,用于开发分布式的交互式的应用程序. Soap是什么? ...
- win7+ubuntu双系统 重装win7后grub修复
问题:之前安装的是win7+ubuntu双系统,重装win7后启动选项没有了,直接进入的是win7系统,无法进入ubuntu系统了. 解决办法:我们需要修复grub,将ubuntu系统重新挂载一下,具 ...
- 我也来谈一谈c++模板(一)
c++中程序员使用模板能够写出与类型无关的代码,提高源代码重用,使用合适,大大提高了开发效率.此前,可以使用宏实现模板的功能,但是模板更加安全.清晰.在编写模板相关的代码是我们用到两个关键词:temp ...