nodejs的安装和配置
上次我们介绍了nodeJs入门的一些概念包括nodeJs、npm、express,这次我们介绍在linux的安装以及配置过程
目录:
1 如何在 Linux、Windows上通过包或包管理器安装 Node.js ;
2 如何在 POSIX 和 Windows 下通过编译源代码安装 Node.js ;
3 安装 npm(Node.js 包管理器);
4 使用多版本管理器让多个 Node.js 的实例共存。
1.如何在 Linux、Windows上通过包或包管理器安装 Node.js
1.1Microsoft Windows系统上安装Node.js
在 Windows 上安装 Node.js 十分方便,你只需要访问http://nodejs.org,点击Download链接,然后选择Windows Installer,下载安装包。下载完成后打开安装包
点击next一路下一步就可以安装成功了。
安装程序不会询问你安装路径,Node.js 会被自动安装到 C:\Program Files\nodejs 或C:\Program Files (x86)\nodejs(64位系统)目录下,并且会在系统的 PATH 环境变量中增加该目录,因此我们可以在 Windows 的命令提示符中直接运行 node。
为了测试是否已经安装成功,我们在运行中输入 cmd,打开命令提示符,然后输入 node,将会进入 Node.js 的交互模式下图:
通过这种方式安装的 Node.js 还自动附带了 npm ,我们可以在命令提示符中直接输入 npm 来使用它。
注: window上的nodejs
Node.js 从0.6版本开始可以运行在原生的 Windows 上了(不是 cygwin 或者其他虚拟环境)。这很大程度上应该归功于微软的合作,因为微软的云计算平台 Windows Azure 宣布了对 Node.js 完全支持。这对微软来说简直是破天荒的举动,因为一贯具有“开源死敌”之称的微软,竟然支持具有深厚开源血统的 Node.js,不得不令人瞠目结舌。尽管如此,Node.js 与 Windows 的兼容性仍然不如 POSIX 操作系统,这一点在 npm 提供的第三方模块中体现得尤为突出。这主要是因为许多第三方的模块需要编译原生的 C/C++代码,其中编译框架和系统调用很多都是以 Linux 为范本的,与 Windows 不兼容。笔者不建议在 Windows 上进行 Node.js 开发或部署,当然出于学习目的,这些影响也是无关紧要的。相信随着 Node.js 的发展(以及微软与开源社区关系的进一步改善),Node.js 与 Windows 的兼容性会越来越好。
1.2linux发行版上面安装nodejs
Node.js 目前还处在快速变化的时期,它的发行速度要远远大于 Linux 发行版维护的周期,因此各个 Linux 发行版官方的软件包管理器中提供的 Node.js 往往都比较过时。尽管如此,我们还是可以通过发行版的包管理器获得一个较为稳定的版本,根据不同的发行版,通过以下命令来获取Node.js,
如果你需要用软件包管理器来获得较新版本的 Node.js,就要根据不同的发行版选择第三方的软件源,具体请参阅:https://github.com/joyent/node/wiki/Installing-Node.js-via-packagemanager。
2.编译源代码
Node.js 从 0.6 版本开始已经实现了源代码级别的跨平台,因此我们可以使用不同的编译命令将同一份源代码的基础上编译为不同平台下的原生可执行代码。在编译之前,要先获取源码包。我们建议访问http://nodejs.org,点击Download链接,然后选择Source Code,下载正式发布的源码包。如果你需要开发中的版本,可以通过https://github.com/joyent/node/zipball/master 获得,或者在命令行下输入git clone
git://github.com/joyent/node.git 从git获得最新的分支。
2.1在 POSIX 1系统中编译
在 POSIX 系统中编译 Node.js 需要三个工具:
C++编译器 gcc 或 clang/LLVM;
Python 版本 2.5 以上,不支持 Python 3;
libssl-dev 提供 SSL/TLS 加密支持。
如果你使用 Linux,那么你需要使用 g++ 来编译 Node.js。在 Debian/Ubuntu 中,你可以通过 apt-get install g++ 命令安装g++。在 Fedora/Redhat/CentOS 中,你可以使用 yuminstall gcc-c++ 安装。
如果使用的是 Mac OS X,那么需要安装 Xcode。默认情况下,系统安装盘中会有 Xcode,可以从光盘中安装,或者访问 https://developer.apple.com/xcode/ 下载最新的版本。
Mac OS X 和几乎所有的 Linux 发行版都内置了 Python,你可以在终端机输入命令python --version 检查 Python 的版本,可能会显示 Python 2.7.2 或其他版本。如果你发现版本号小于2.5或者直接出现了 command not found,那么你需要通过软件包管理器获得一个新版本的 Python,或者到 http://python.org/ 下载一个。
libssl-dev 是调用 OpenSSL 编译所需的头文件,用于提供 SSL/TLS 加密支持。Mac OSX 的 Xcode 内置了 libssl-dev。在 Debian/Ubuntu 中,你可以通过 apt-get installlibssl-dev 命令安装。在 edora/Redhat/CentOS 中, 你可以通过 yum install openssl-devel 命令安装。同样,你也可以访问 http://openssl.org/ 下载一个
接下来,进入 Node.js 源代码所在目录,运行:
./configure
make
sudo make install
之后大约等待20分钟,Node.js 就安装完成了,而且附带安装了 npm。
2.2在 Windows系统中编译
Node.js 在 Windows 下只能通过 Microsoft Visual Studio 编译,因此你需要首先安装 Visual Studio 或者免费的 Visual Studio Express。你还需要安装 Python 2(2.5以上的版本,但要小于3.0),可以在http://python.org/取得。安装完 Python 以后请确保在PATH环境变量中添加python.exe 所在的目录,如果没有则需要手动在“系统属性”中添加。一切准备好以后,打开命令提示符,进入 Node.js 源代码所在的目录进行编译:
C:\Users\byvoid\node-v0.6.12>vcbuild.bat release
['-f', 'msvs', '-G', 'msvs_version=2010', '.\\node.gyp', '-I', '.\\common.gypi', '--depth=.',
'-Dtarget_Project files generated.
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppBuild.targets(1151,5):
warning MSB8012: http_parser.vcxproj -> C:\Users\byvoid\node-v0.6.12\
Release\http_parser.lib
js2c, and also js2c_experimental
node_js2c
...
大约等待20分钟,编译完成。在 Release 子目录下面会有一个 node.exe 文件,这就是我们编译的唯一目标。也许有些令人惊讶,Node.js 编译后只有一个 node.exe文件,这说明 Node.js的核心非常小巧精悍。直接运行 node.exe 即可进入 Node.js 的交互模式,在系统 PATH 环境变量中添加node.exe文件所在的目录,这样就可以在命令行中运行 node 命令了,剩下的工作就是手动安装 npm 了。
3.安装Node 包管理器
Node 包管理器(npm)是一个由 Node.js 官方提供的第三方包管理工具,就像 PHP 的Pear、Python 的 PyPI 一样。npm 是一个完全由 JavaScript 实现的命令行工具,通过 Node.js 执行,因此严格来讲它不属于 Node.js 的一部分。在最初的版本中,我们需要在安装完 Node.js 以后手动安装npm。但从 Node.js 0.6 开始,npm 已包含在发行包中了,我们在 Windows、Mac 上安装包和源代码包时会自动同时安装 npm。
如果你是在 Windows 下手动编译的,或是在 POSIX 系统中编译时指定了 --without-npm参数,那就需要手动安装 npm 了。http://npmjs.org/提供了 npm 几种不同的安装方法,通常你只需要执行以下命令:
curl http://npmjs.org/install.sh | sh
如果有权限问题你可以通过以下命令安装:
curl http://npmjs.org/install.sh | sudo sh
至此我们的npm包已经安装完毕了。
引用:
[1].POSIX(Portable Operating System Interface)是一套操作系统 API 规范。一般而言,遵守 POSIX 规范的操作系统 指的是 UNIX、Linux、Mac OS X 等.
nodejs的安装和配置的更多相关文章
- win10x64位系统中nodejs的安装和配置
官网http://nodejs.cn/download/ 2.下载完成后点击安装包 下一步,安装过的,这里根据自己的需求选择.选择第直接正常安装. 这一步是安装的内容,第一个是安装所有的模块,建议全部 ...
- win10下nodejs的安装及配置
这里主要引用两篇文章,写的非常详细,也能解决你可能出现的问题 nodejs安装及配置 如何删除之前nodejs设置的 npm config set prefix .....
- nodejs的安装与配置
最近做了一个项目,想基于NodeJS来完成,但是由于对NodeJS不熟悉,所以在网上查资料进行安装,以下做对关键信息做一下笔记本,具体如何安装,就不做说明了,如果需要查看的,请自行Goolge或bai ...
- Nodejs的安装及配置
1.从Nodejs官网下载安装包,进行安装,是否安装成功,可以从cmd npm去检查,出现如下界面,就表示安装成功 2.打开Webstorm进行配置,(如果安装前打开webstorm了,需要重启web ...
- nodejs非安装版配置(windows)
nodejs官网下载地址: https://nodejs.org/en/download/ 解压到本地并配置环境变量 在环境变量path中新增 D:\develop\node 查看是否配置成功 至此n ...
- Node.js 安装与配置
引言: JavaScript是一种运行在浏览器的脚本,它简单,轻巧,易于编辑,这种脚本通常用于浏览器的前端编程,但是一位开发者Ryan有一天发现这种前端式的脚本语言可以运行在服务器上的时候,一场席卷全 ...
- Nodejs简单介绍以及在windows环境下安装与配置流程
简介 一. Nodejs是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境.Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. ...
- Nodejs的安装配置及如何在sublimetext2中运行js
Nodejs的安装配置及如何在sublimetext2中运行js听语音 | 浏览:4554 | 更新:2015-06-16 11:29 Nodejs的安装配置及如何在sublimetext2中运行js ...
- 【Nodejs】【node.js 安装 和 配置Sublime Text的Node.js】
[一] [安装nodejs] 第一步:下载安装文件: https://nodejs.org/en/download/ 第二步:安装nodejs 下载完成之后,双击"node-v6.10.1- ...
随机推荐
- js中关于prototype学习(2015年1月5号晚)
prototype在js中为原型,只要是对象都有原型,最高原型为Object. 函数作为一特殊的对象,下面探讨prototype(原型)和function(函数)之间的关系. function A ( ...
- VCL主要框架
TObject ->TPersistent Classes,抽象类 ->TComponent Classes,抽象类 ->TControl Controls ->TGra ...
- [.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField)
[.ashx檔?泛型处理程序?]基础入门#5....ADO.NET 与 将DB里面的二进制图片还原 (范例下载 & 大型控件的ImageField) http://www.dotblogs.c ...
- Java 第七天 动态代理
代理类需实现InvocationHandler接口: public interface InvocationHandler { public Object invoke(Object proxy,Me ...
- 小课堂week13 Clean Code Part2
Clean Code Part2 对象与数据结构 首先让我们进行一个严肃的思考,对象与数据结构的区别在哪里? 如下两段代码分别用数据结构和对象的方法来描述了一个Point. public class ...
- ok6410串口裸机总结
1.串口角色:(1)数据传输通道(2)控制台 2.通讯参数(1)波特率:衡量传输速率的快慢,每秒钟传输数据的位数(bit)(2)数据位:有效数据(3)起始位:线路空闲的时候是高电平,当检测到低电平认为 ...
- Ruby判断文件是否存在
flag = FileTest::exist?("LochNessMonster") flag = FileTest::exists?("UFO") # exi ...
- WPF中线性渐变画刷的一个小窍门
最近被项目里面控件的设计搞的死去活来的,大部分的设计都会需要使用进度条的功能,因为UI形状的变态,使用ProgressBar不能满足需求,没办法就自己想办法实现进度显示.折腾的多了发现一个很不错的方法 ...
- JavaWeb之 Servlet执行过程 与 生命周期
Servlet的概念 什么是Servlet呢? Java中有一个叫Servlet的接口,如果一个普通的类实现了这个接口,这个类就是一个Servlet.Servlet下有一个实现类叫HttpServle ...
- CodeForces 569A 第八次比赛 C题
Description Little Lesha loves listening to music via his smartphone. But the smartphone doesn't hav ...