电子书推荐
Digital Forensics with Kali Linux, 2nd Edition
Practical Entity Framework Core 6: Database Access for Enterprise Applications, 2nd Edition
Hacking: Learn How to Hack Like a Pro
JavaScript Cookbook: Programming the Web, 3rd Edition
Interactive Data Visualization with Python
Lean Python: Learn Just Enough Python to Build Useful Tools
从nodejs.org下载安装Node.js安装包
Node.js官网https://nodejs.org/en/网站提供了Windows、macOS、Linux和Solaris等系统的二进制安装文件。我们只需进入Node.js官网,点击安装按钮,然后运行安装程序就可安装Node.js。对于带有包管理 的系统,如我们上面讨论的,最好使用包管理系统安装。这是因为你会发现使用包管理系统安装方式更加容易更新Node.js的最新版本。但是种安装方式并不适合所有开发者,原因如下:
- 有些人更喜欢安装二进制文件,而不是使用包管理器安装软件。
- 他们选择的系统没有包管理系统。
- 他们的包管理系统中的Node.js实现已过时。
打开Node.js网站,您就会看到如下屏幕截图所示的内容。该页面尽最大努力确定您的操作系统并提 供适当的版本下载。如果您需要其他版本,请单击标题中的下载链接以获取所有可下载的版本:
macOS系统的Node.js安装包是一个PKG文件。不论是MacOS系统还是Windows系统,安装过程都和安装常规软件过程是一样的。
在安装Node.js程序过程中,命令行工具例如node和npm也会同时被安装。因此安装完成后,你可以直接使用npm和npx命令运行node.js程序。Windows系统还提供了一个预配置的Windows命令shell版本,可以很好地与Node.js配合使用。
正如您你刚刚了解到的,我们大多数人都喜欢使用Node.js安装包安装Node.js。但是,有时我们必须使用源代码安装Node.js。
在类似POSIX的系统上使用源代码安装
使用Node.js安装包安装Node.js发行版是首选的安装方法。但是使用源代码安装Node.js具有以下几个优点:
- 你可以根据需要优化编译器设置。
- 你可以交叉编译,比如编译嵌入式ARM系统。
- 你可以根据需要安装多个Node.js版本以进行测试。
- 你可能正在处理Node.js。
现在您已经了解为什么要使用源代码安装Node.js,让我们通过一些构建脚本来动手安 装Node.js。安装过程遵配置、制作和安装程序等常规安装过程,您可能已经使用其他开源软件包执行了该过程。如果没有,请不要担心,我将指导你完成整个过程。
官方安装说明文件见README.md文件,网址为https://github.com/nodejs/node/blob/master/README.md。
安装前提条件
在使用源代码安装Node.js前,我们需要安装三个工具:C编译器、Python和OpenSSL库。Node.js编译过程检查会检测这个三款个工具是否 存在。如果C编译器或Python不存在,则编译将失败。请用以下命令将检查C编译器和Python是否存已安装:
$ cc --version
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Target: x86_64-apple-darwin17.7.0
Thread model: posix
InstalledDir:
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xct oolchain/usr/bin $ python
Python 2.7.16 (default, Oct 16 2019, 00:35:27)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.31)] on darwin
Type "help", "copyright", "credits" or "license" for more information. >>>
具体的安装方法取决于您的操作系统。
Node.js构建工具正在更新以支持Python 3.x。Python2.x正处于生命周期结束阶段,计划于2019年底结束维护,因此建议你将Python2.x更新到Python3.x。
在编译Node.js源代码之前,我们必须安装正确的工具。在macOS上,有几个特殊的事项需要注意。
在macOS上安装开发者工具
开发工具(如GCC)是macOS上的可选安装工具。幸运的是,这些很容易获得。
你可以首先安装Xcode,Xcode可以通过Mac应用商店免费下载。只需搜索Xcode并单击“获取”按钮。安 装Xcode后,打开终端窗口并输入以下内容:
$ xcode-select --install
这就安装了Xcode命令行工具
有关更多信息,请访问:http://osxdaily.com/2014/02/12/install-command-line-tools-mac-os-x/。
现在我们已经安装了需要的工具,可以继续编译Node.js源代码。
在所有类POSIX的系统使用源代码安装Node.js
使用源代码编译安装Node.js的过程如下:
- 源代码下载地址http://nodejs.org/download。
- 使用./Configure配置用于构建的源代码。
- 运行make,然后运行make install
源代码绑定包可以通过浏览器下载,也可以按以下方式下载替换你喜欢的版本:
$ mkdir src
$ cd src
$ wget https://nodejs.org/download/release/v14.0.0/node-v14.0.0.tar.gz $ tar xvfz node-v14.0.0.tar.gz
$ cd node-v14.0.0
现在我们通过配置源代码来构建Node.js。与许多其他开源包一样,有一系列选项可用于自定义构建Node.js:
$ ./configure --help
要将Node.js安装到你的主目录,请运行以下命令:
$ ./configure --prefix=$HOME/node/14.0.0 ..output from configure
如果要同时安装多个版本的Node.js,请使用以下命令将将版本号配置到PATH中。这样,每个版本将被安装 到一个单独的目录中。然后,通过更改响应的PATH变量就可以很简单地在Node.js的版本之间切换:
#On bash shell:
$ export PATH=${
HOME}/node/VERSION-NUMBER/bin:${
PATH} # On csh
$ setenv PATH ${
HOME}/node/VERSION-NUMBER/bin:${
PATH}
安装多个Node.js版本的一种更简单的方法是使用nvm脚本,这种安装方式我们将在后面了解。
如果要将Node.js安装到系统目录中,只需省略–prefix,Node.js就会被默认安装到系统目录/usr/ local中。
等待一段时间,安装就会停止,并且可能已经成功地配置了源代码树,以便将Node.js安装到你选择的目录中。如果安装不成功,则打印的错误消息将描述需要修复的内容。一旦满足配置脚本的要求,就可以进入下一 步。
在满足配置脚本的情况下,您可以编译软件:
$ make
.. a long log of compiler output is printed
$ make install
如果要将Node.js安装到系统目录中,请使用以下代码执行最后一步:
$ echo 'export PATH=$HOME/node/14.0.0/bin:${
PATH}' >>~/.bashrc
$ . ~/.bashrc
或者,对于csh用户,使用以下语法导出生成的环境变量:
$ echo 'setenv PATH $HOME/node/14.0.0/bin:${
PATH}' >>~/.cshrc
$ source ~/.cshrc
安装构建时,上面的命令会创建一个目录结构,如下所示:
$ ls ~/node/14.0.0/
bin include lib share $ ls ~/node/14.0.0/bin
node npm npx
现在,我们已经了解了如何在类UNIX系统上使用源代码安装Node.js,我们可以在Windows上执行同样的 操作。
在Window上使用源代码安装Node.js
前面引用的BUILDING.md文档包含了安装说明。您可以使用Visual Studio的构建工具或完整的Visual Studio 2017或2019产品安装Node.js:
- Visual Studio 2019: https://www.visualstudio.com/downloads/
- 构建工具: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2019
需要另外三个工具:
- Windows版Git :http://git-scm.com/download/win
- Python:https://www.python.org/
- OpenSSL:https://www.openssl.org/source/ 和https://wiki. openssl.org/index.php/Binaries
- 用于OpenSSL的Netwide汇编器(NASM):https://www.nasm.us/
然后,运行内置的.\vcbuild脚本执行构建。
我们已经学习了如何安装一个Node.js实例,现在让我们来了解一下如何安装多个实例。
使用nvm安装多个版本Node.js
我们通常不会安装多个版本的Node.js,因为这样做会增加系统的复杂性。但是,如果您正在对Node.js进行模拟黑客攻击演练,或者针对不同的Node.js版本测试你的应用,那么你可能需要安装多个Node.js实例。安装方法只是对前面安装方法进行简单的修改。
在前面讨论从源代码构建Node.js时,我们注意到可以在单独的目录中安装多个Node.js实例。如果您需要 定制的Node.js构建,那么只需要使用源代码安装就可以了。但大多数人都比较喜欢使用Node.js安装包安 装Node.js并且也可以安装在单独的目录中。
在Node.js版本之间切换只需要将安装Node.js的目录添加到PATH变量中,POSIX系统使用如下代码:
$ export PATH=/usr/local/node/VERSION-NUMBER/bin:${
PATH}
但是时间一长,维护会变得越来越困难。因为我们需要对不同版本的Node.js进行设置,包括npm和我们 要是用的第三发模块。此外,频繁更改PATH变量也是非常麻烦的,因此有开发者创建了几个版本管理 器,以简化对多个Node.js/npm版本的管理,并提供了更改PATH变量的智能命令:
- Node 版本管理器:https://github.com/tj/n
- Node 版本管理器:https://github.com/creationix/nvm
这两个版本管理器都用于维护Node.js的多个版本,并且能够让你非常简单在不同的Node.js版本之间切 换。安装说明可在这个工具的官方网站上获得。例如,使用nvm,你可以运行以下命令:
$ nvm ls
..<