快速掌握Node.js环境的安装与运行方法


Posted in Javascript onFebruary 16, 2016

安装程序
NodeJS 提供了一些安装程序,都可以在 nodejs.org 这里下载并安装。

Windows 系统下,选择和系统版本匹配的 .msi 后缀的安装文件。Mac OS X 系统下,选择 .pkg 后缀的安装文件。

编译安装
Linux 系统下没有现成的安装程序可用,虽然一些发行版可以使用 apt-get 之类的方式安装,但不一定能安装到最新版。因此 Linux 系统下一般使用以下方式编译方式安装 NodeJS。

1.确保系统下 g++ 版本在 4.6 以上,python 版本在 2.6 以上。

2.从 nodejs.org 下载 tar.gz 后缀的 NodeJS 最新版源代码包并解压到某个位置。

3.进入解压到的目录,使用以下命令编译和安装。

$ ./configure

$ make

$ sudo make install

运行

打开终端,键入 node 进入命令交互模式,可以输入一条代码语句后立即执行并显示结果,例如:

$ node
> console.log('Hello World!');
Hello World!

如果要运行一大段代码的话,可以先写一个JS文件再运行。例如有以下 hello.js。

function hello() {
  console.log('Hello World!');
}
hello();

写好后在终端下键入 node hello.js 运行,结果如下:

$ node hello.js
Hello World!

权限问题
在 Linux 系统下,使用 NodeJS 监听 80 或 443 端口提供 HTTP(S)服务时需要 root 权限,有两种方式可以做到。

一种方式是使用 sudo 命令运行 NodeJS。例如通过以下命令运行的 server.js 中有权限使用 80 和 443 端口。一般推荐这种方式,可以保证仅为有需要的 JS 脚本提供 root 权限。

$ sudo node server.js

另一种方式是使用 chmod +s 命令让 NodeJS 总是以 root 权限运行,具体做法如下。因为这种方式让任何JS脚本都有了 root 权限,不太安全,因此在需要很考虑安全的系统下不推荐使用。

$ sudo chown root /usr/local/bin/node
$ sudo chmod +s /usr/local/bin/node
Javascript 相关文章推荐
JQuery 构建客户/服务分离的链接模型中Table分页代码效率初探
Jan 22 Javascript
基于jQuery的图片左右无缝滚动插件
May 23 Javascript
js计算精度问题小结
Apr 22 Javascript
window.print打印指定div实例代码
Dec 13 Javascript
JS判断页面是否出现滚动条的方法
Jul 17 Javascript
解决Vue 浏览器后退无法触发beforeRouteLeave的问题
Dec 24 Javascript
JS中的算法与数据结构之二叉查找树(Binary Sort Tree)实例详解
Aug 16 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
Sep 24 Javascript
记录微信小程序 height: calc(xx - xx);无效问题
Dec 30 Javascript
小程序接入腾讯位置服务的详细流程
Mar 03 Javascript
JQuery实现折叠式菜单的详细代码
Jun 03 jQuery
vue.js+element 默认提示中英文操作
Nov 11 Javascript
js实现异步循环实现代码
Feb 16 #Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(二)
Feb 16 #Javascript
JavaScript实现跑马灯抽奖活动实例代码解析与优化(一)
Feb 16 #Javascript
javascript HTML+CSS实现经典橙色导航菜单
Feb 16 #Javascript
JavaScript中使用数组方法汇总
Feb 16 #Javascript
jquery拖拽排序简单实现方法(效果增强版)
Feb 16 #Javascript
jquery实现具有收缩功能的垂直导航菜单
Feb 16 #Javascript
You might like
PHP开发不能违背的安全规则 过滤用户输入
2011/05/01 PHP
PHP学习笔记之数组篇
2011/06/28 PHP
JoshChen_web格式编码UTF8-无BOM的小细节分析
2013/08/16 PHP
php自动识别文件编码并转换为UTF-8的方法
2014/06/12 PHP
浅谈php的优缺点
2015/07/14 PHP
javascript call和apply方法
2008/11/24 Javascript
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
让新消息在网页标题闪烁提示的jQuery代码
2013/11/04 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
jquery比较简洁的软键盘特效实现方法
2015/03/19 Javascript
javascript如何写热点图
2015/12/08 Javascript
使用OpenLayers3 添加地图鼠标右键菜单
2015/12/29 Javascript
jQuery实现简单评论功能
2020/08/19 jQuery
vue 导出文件,携带请求头token操作
2020/09/10 Javascript
Python爬虫框架Scrapy实战之批量抓取招聘信息
2015/08/07 Python
Python 探针的实现原理
2016/04/23 Python
Python+Opencv识别两张相似图片
2020/03/23 Python
Flask框架的学习指南之开发环境搭建
2016/11/20 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
Python使用Matplotlib实现Logos设计代码
2017/12/25 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
python统计函数库scipy.stats的用法解析
2020/02/25 Python
pycharm软件实现设置自动保存操作
2020/06/08 Python
keras 获取某层的输入/输出 tensor 尺寸操作
2020/06/10 Python
VIVOBAREFOOT赤脚鞋:让您的脚做自然的事情
2017/06/01 全球购物
Expedia挪威官网:酒店、机票和租车
2018/03/03 全球购物
高中生学习生活的自我评价
2013/11/27 职场文书
幼儿园标语大全
2014/06/19 职场文书
幼儿园家长安全责任书
2014/07/22 职场文书
战略性融资合作协议书范本
2014/10/17 职场文书
现实表现材料范文
2014/12/23 职场文书
教师见习总结范文
2015/06/23 职场文书
合同范本之电脑出租
2019/08/13 职场文书
PHP基本语法
2021/03/31 PHP
Java图书管理系统,课程设计必用(源码+文档)
2021/06/30 Java/Android