快速掌握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 相关文章推荐
js form 验证函数 当前比较流行的错误提示
Jun 23 Javascript
第一个JavaScript入门基础 document.write输出
Feb 22 Javascript
基于jquery的跟随屏幕滚动代码
Jul 24 Javascript
jquery实现的导航固定效果
Apr 28 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
JavaScript限定范围拖拽及自定义滚动条应用(3)
May 17 Javascript
解决vue热替换失效的根本原因
Sep 19 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
Dec 22 Javascript
深入Node TCP模块的理解
Mar 13 Javascript
Node.js实现一个HTTP服务器的方法示例
May 13 Javascript
Vue实现摇一摇功能(兼容ios13.3以上)
Jan 26 Vue.js
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
php5 apache 2.2 webservice 创建与配置(java)
2011/01/27 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
yii2超好用的日期组件和时间组件
2016/05/05 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
实例讲解PHP表单
2020/06/10 PHP
JavaScript类和继承 constructor属性
2010/03/04 Javascript
js实现日历可获得指定日期周数及星期几示例分享(js获取星期几)
2014/03/14 Javascript
js、jquery图片动画、动态切换示例代码
2014/06/03 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
js中作用域的实例解析
2017/03/16 Javascript
EasyUI的DataGrid绑定Json数据源的示例代码
2017/12/16 Javascript
详解如何在JS代码中消灭for循环
2019/12/11 Javascript
javascript实现固定侧边栏
2021/02/09 Javascript
python 换位密码算法的实例详解
2017/07/19 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
python爬虫之urllib,伪装,超时设置,异常处理的方法
2018/12/19 Python
pandas的连接函数concat()函数的具体使用方法
2019/07/09 Python
python getpass模块用法及实例详解
2019/10/07 Python
python实现矩阵和array数组之间的转换
2019/11/29 Python
pytorch下使用LSTM神经网络写诗实例
2020/01/14 Python
python yield和Generator函数用法详解
2020/02/10 Python
python的链表基础知识点
2020/09/13 Python
python实现文件分片上传的接口自动化
2020/11/19 Python
CSS3 linear-gradient线性渐变生成加号和减号的方法
2017/11/21 HTML / CSS
HTML5中语义化 b 和 i 标签
2008/10/17 HTML / CSS
HTML块级标签汇总(小篇)
2016/07/13 HTML / CSS
美国最大的香水出口:FragranceX.com
2017/11/04 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
研究生考核个人自我鉴定
2014/03/27 职场文书
民族精神月活动总结
2014/08/28 职场文书
2015年打非治违工作总结
2015/04/02 职场文书
Python数据分析之绘图和可视化详解
2021/06/02 Python
MySQL数据库中varchar类型的数字比较大小的方法
2021/11/17 MySQL
Nginx源码编译安装过程记录
2021/11/17 Servers
SQL Server 忘记密码以及重新添加新账号
2022/04/26 SQL Server