深入浅出Nodejs(二):NodejsNPM的安装与配置

  作为一种源自业界的新的软件工程范式,针对DevOps的实践和讨论正处于风口浪尖。DevOps正在广度和深度上“重塑”软件工程的技术与实践。像以往的重大软件变革一样,DevOps的发展也必将经历一个由“野蛮生长”,到集体反思,再到知识体系构建,并进一步推动DevOps持续发展的成熟过程。作为DevOps中国社区的核心成员,南京大学率先开展了覆盖DevOps全周期、围绕DevOps全方位的探索工作,并...

  随着MySQL数据库使用越来越重度,流行度越来越高,同时伴随着使用场景的丰富、云化的普及和智能化的发展,对原本为单机设计的MySQL带来了很多架构上的挑战,包括:性能、成本、安全、容灾,高可用、合规、规模运营等方面,在诸多过去设计层面不被重视的问题。本演讲会从架构演化角度来看现有MySQL技术和产品的变化趋势和解决实践。

  2017年已经成为过去,在AI领域又太多里程碑值得纪念,总结2017是为了更好的迈向2018,所以AI前线年之初为各位读者奉上这样一本迷你书,涵盖了来自全球AI和大数据领域技术专家的年终总结与趋势解读,同时还有世界知名技术大厂的年终技术总结与趋势预测。

  由Ron Meyer和Ronald Meijers共同撰写的Leadership Agility一书描述了一系列领导力风格,他们可用它们来拓展领导技能和增强领导力敏捷性。读者可从中了解各种领导力风格的优点和缺点,学会根据实际的场景选择合适的领导力风格。

  参与物联网项目的人已经意识到,在客户需求与供应商提供设备间存在着很大的差距。Mikael Hakansson介绍了确保物联网成功的五个关键领域,其中包括企业所有权、团队技能、设备板载、处理变更能力以及全面测试。

  亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知。

  专栏的第二篇文章《Node&NPM的安装与配置》介绍Node的安装部署、环境配置以及NPM的安装。

  Node.js已经诞生两年有余,由于一直处于快速开发中,过去的一些安装配置介绍多数针对0.4.x版本而言的,并非适合最新的0.6.x的版本情况了,对此,我们将在0.6.x的版本上介绍Node.js的安装和配置。(本文一律以0.6.1为例,0.6的其余版本,只需替换版本号即可。从可以查看到最新的二进制版本和源代码)。

  在过去,Node.js一直不支持在Windows平台下原生编译,需要借助Cygwin或MinGW来模拟POSIX系统,才能编译安装。幸运的是2011年6月微软开始与Joyent合作移植Node.js到Windows平台上(),这次合作的成果最终呈现在0.6.x的稳定版的发布上。这次的版本发布使得Node.js在Windows平台上的性能大幅度提高,使用方面也更容易和轻巧,完全摆脱掉Cygwin或MinGW等实验室式的环境,并且在某些细节方面,表现出比Linux下更高的性能,细节参见。

  在Windows(Windows7)平台下,我将介绍二种安装Node.js的方法,即普通和文艺安装方法。

  普通安装方法其实就是最简单的方法了,对于大多Windows用户而言,都是不太喜欢折腾的人,你可以从这里()直接下载到Node.js编译好的msi文件。然后双击即可在程序的引导下完成安装。

  Windows平台下的文艺安装方法主要提供给那些热爱折腾,喜欢编译的同学们。在编译源码之前需要注意的是你的Windows系统是否包含编译源码的工具。Node.js的源码主要由C++代码和JavaScript代码构成,但是却用gyp工具()来做源码的项目管理,该工具采用Python语言写成的。在Windows平台上,Node.js采用gyp来生成Visual Studio Solution文件,最终通过VC++的编译器将其编译为二进制文件。所以,你需要满足以下两个条件:

  通过命令行进入解压的源码目录,执行vcbuild.bat release命令,然后经历了漫长的等待后,编译完成后,在Release目录下可以找到编译好的node.exe文件。通过命令行执行node -v。

  是的,我们回到了一开始的普通安装方法。所谓文艺就是多走一些路,多看一些风景罢了。

  由于Node.js尚处于v0.x.x的版本的快速发展中,Unix/Linux平台的发行版都不会预置Node的二进制文件,通过源码进行编译安装是目前最好的选择。而且用Unix/Linux系统的同学们多数都是文艺程序员,本节只介绍如何通过源码进行编译和安装。

  如同在Windows平台下一样,Node.js依然是采用gyp工具管理生成项目的,不同的是通过make工具进行最终的编译。所以Unix/Linux平台下你需要以下几个必备条件,才能确保编译完成:

  Python。用于gyp,可以通过在shell下执行python命令,查看是否已安装python,并确认版本是否符合需求(2.6或更高版本,但不推荐3.0)。

  源代码编译器,通常 Unix/Linux平台都自带了C++的编译器(GCC/G++)。如果没有,请通过当前发行版的软件包安装工具安装make,g++这些编译工具。

  如果检查没有通过,请确认上面提到的三个条件是否满足。如果configure命令执行成功,就可以进行编译了:

  Nodejs通过make工具进行编译和安装(如果make install不成功,请使用sudo以确保拥有权限)。完成以上两步后,检查一下是否安装成功:

  至此,Nodejs已经编译并安装完成。如需卸载,可以执行make uninstall进行卸载。

  以上介绍了*nix和Windows平台下Nodejs的安装,之后可以如同Nodejs官方网站上介绍的那样,编写example.js文件。

  NPM的全称是Node Package Manager,如果你熟悉ruby的gem,Python的PyPL、setuptools,PHP的pear,那么你就知道NPM的作用是什么了。没错,它就是Nodejs的包管理器。Nodejs自身提供了基本的模块。但是在这些基本模块上开发实际应用需要较多的工作。所幸的是笔者执笔此文的时候NPM上已经有了5112个Nodejs库或框架,这些库从各个方面可以帮助Nodejs的开发者完成较为复杂的应用。这些库的数量和活跃也从侧面反映出Nodejs社区的发展是十分神速和活跃的。下面我将介绍安装NPM和通过NPM安装Nodejs的第三方库,以及在大陆的网络环境下,如何更好的利用NPM。

  这里详解一下这句命令的意思,curl 是通过curl命令获取这个安装shell脚本,按后通过管道符 将获取的脚本交由sh命令来执行。这里如果没有权限会安装不成功,需要加上sudo来确保权限:

  由于一些特殊的网络环境,直接通过npm install命令安装第三方库的时候,经常会出现卡死的状态。幸运的是国内CNode社区的@fire9同学利用空余时间搭建了一个镜像的NPM资源库,服务器架设在日本,可以绕过某些不必要的网络问题。你可以通过以下这条命令来安装第三方库:

  设置之后每次安装时就可以不用带上registry参数。值得一提的是还有另一个镜像可用,该镜像地址是,如需使用,替换上面两行命令的地址即可。

  由于Nodejs最初在Linux开发下的历史原因,导致NPM一开始也不支持Windows环境,但是随着Nodejs成功移植到到Windows平台,NPM在Windows下的需求亦是日渐增加。下面开始Windows下的NPM之旅吧。

  由于github网站不支持直接下载打包了所有submodule的源码包,所以需要通过git工具来签出所有的源码。从,可以下载到msysgit这个Windows平台下的git客户端工具(最新版本文件为Git-1.7.7.1-preview20111027.exe)。在下载之后双击安装。

  打开命令行工具(CMD),执行以下命令,可以通过msysgit签出NPM的所有源码和依赖代码并安装npm。

  在执行这段代码之前,请确保node.exe是跟通过node.msi的方式安装的,或者在PATH环境变量中。这段命令也会将npm加入到PATH环境变量中去,之后可以随处执行npm命令。如果安装中遇到权限方面的错误,请确保cmd命令行工具是通过管理员身份运行的。安装成功后,执行以下命令:

  如此,Windows平台下的NPM安装完毕。如果遭遇网络问题无法安装,请参照Linux下的NPM命令,添加镜像地址。

  田永强,新浪微博@朴灵,前端工程师,现职于SAP,从事Mobile Web App方面的研发工作,对NodeJS持有高度的热情,寄望打通前端JavaScript与NodeJS的隔阂,将NodeJS引荐给更多的前端工程师。兴趣:读万卷书,行万里路。个人Github地址:。

  关注IT趋势,承载前沿、深入、有温度的内容。感兴趣的读者可以搜索ID:laocuixiabian,或者扫描下方二维码加关注。

  给InfoQ中文站投稿或者参与内容翻译工作,请邮件至也欢迎大家加入到InfoQ中文站用户讨论组中与我们的编辑和其他读者朋友交流。

  我们理解您使用ad blocker的初衷,但为了保证InfoQ能够继续以免费方式为您服务,我们需要您的支持。InfoQ绝不会在未经您许可的情况下将您的数据提供给第三方。我们仅将其用于向读者发送相关广告内容。请您将InfoQ添加至白名单,感谢您的理解与支持。

相关阅读