快速掌握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 相关文章推荐
Javascript 入门基础学习
Mar 10 Javascript
Javascript 中的 && 和 || 使用小结
Apr 25 Javascript
jQuery判断数组是否包含了指定的元素
Mar 10 Javascript
jQuery事件绑定用法详解(附bind和live的区别)
Jan 19 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
浅谈angular2 组件的生命周期钩子
Aug 12 Javascript
使用vue-infinite-scroll实现无限滚动效果
Jun 22 Javascript
从0到1搭建Element的后台框架的方法步骤
Apr 10 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
详解微信小程序开发聊天室—实时聊天,支持图片预览
May 20 Javascript
vue+Element实现搜索关键字高亮功能
May 28 Javascript
node.js 微信开发之定时获取access_token
Feb 07 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下实现折线图效果的代码
2007/04/28 PHP
Discuz!下Memcache缓存实现方法
2010/05/28 PHP
php中实现记住密码自动登录的代码
2011/03/02 PHP
非常好用的两个PHP函数 serialize()和unserialize()
2012/02/04 PHP
PHP中读取文件的几个方法总结(推荐)
2016/06/03 PHP
PHP生成及获取JSON文件的方法
2016/08/23 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
javascript jQuery $.post $.ajax用法
2008/07/09 Javascript
js/jQuery对象互转(快速操作dom元素)
2013/02/04 Javascript
获取内联和链接中的样式(js代码)
2013/04/11 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
IE10中flexigrid无法显示数据的解决方法
2015/07/26 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
浅谈Vue SSR 的 Cookies 问题
2017/11/20 Javascript
layer.open关闭父窗口 以及调用父页面的方法
2018/08/17 Javascript
JavaScript中构造函数与原型链之间的关系详解
2019/02/25 Javascript
python使用opencv进行人脸识别
2017/04/07 Python
恢复百度云盘本地误删的文件脚本(简单方法)
2017/10/21 Python
详解如何将python3.6软件的py文件打包成exe程序
2018/10/09 Python
Python3匿名函数lambda介绍与使用示例
2019/05/18 Python
PyQt5组件读取参数的实例
2019/06/25 Python
flask框架路由常用定义方式总结
2019/07/23 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
提升python处理速度原理及方法实例
2019/12/25 Python
Numpy与Pytorch 矩阵操作方式
2019/12/27 Python
python变量的作用域是什么
2020/05/26 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
后勤主管工作职责
2013/12/07 职场文书
2014年社区学雷锋活动总结
2014/03/09 职场文书
煤矿安全承诺书
2014/05/22 职场文书
干部对照检查材料范文
2014/08/26 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
2015年银行个人工作总结
2015/05/14 职场文书
当你找不到方向的时候,不妨读读刘备的一生
2019/08/05 职场文书
Apache Hudi集成Spark SQL操作hide表
2022/03/31 Servers