CentOS7 源码安装Node.js

官方文档:https://nodejs.org/en

下载地址:https://nodejs.org/en/download/current

一、Node.js概念

Node.js 是一个基于 Chrome V8 JavaScript 引擎的 JavaScript 运行时环境,用于开发高性能、可扩展的网络和服务器端应用程序。与传统的前端 JavaScript 不同,Node.js 运行在服务器端,并提供了广泛的系统级 API,使其能够执行文件系统操作、网络请求、操作数据库等任务。

核心概念:

  1. **JavaScript 运行时环境:**Node.js 使得 JavaScript 不再仅限于浏览器中运行。它让开发者可以在服务器端使用 JavaScript 进行编程,替代像 PHP、Python 或 Java 这样的服务器端语言。

  2. **单线程 + 非阻塞 I/O:**Node.js 的最核心特点是采用了 单线程事件驱动模型非阻塞 I/O(异步 I/O)。它通过事件循环(event loop)和回调机制,使得处理高并发请求时效率极高。

    • 单线程:Node.js 的所有操作都是在一个线程中进行的,因此没有多线程编程中的复杂性(如锁、线程安全问题等)。

    • 非阻塞 I/O:Node.js 中的 I/O 操作(如文件读取、网络请求等)不会阻塞主线程,而是通过异步的方式进行。一旦 I/O 操作完成,它会通知主线程执行相应的回调函数。

  3. **事件驱动:**Node.js 使用事件驱动架构,服务器会监听和响应事件。所有 I/O 操作(如数据库查询、文件读取等)在完成时会触发回调函数,从而实现异步处理。

  4. **模块化:**Node.js 提供了一个模块系统(CommonJS),允许开发者将代码分割成独立的模块,便于复用和维护。通过 require() 函数,可以导入其他模块或库。

  5. **包管理器 (npm):**Node.js 附带了全球最大的包管理器 npm(Node Package Manager),通过它可以安装、共享和管理项目中的依赖。开发者可以快速获取和使用其他人发布的开源模块。

应用场景:

  • Web 应用服务器:由于其非阻塞 I/O 和高并发处理能力,Node.js 非常适合构建高性能的 Web 服务器。
  • 实时应用:例如即时通讯、在线游戏等实时性要求高的应用,Node.js 能够以非常低的延迟处理大量并发连接。
  • RESTful API 服务器:Node.js 常用于构建后端的 API 服务,通过 HTTP 协议与前端应用通信。
  • 微服务架构:Node.js 轻量且扩展性强,非常适合搭建微服务。
  • 命令行工具:许多命令行工具也是使用 Node.js 构建的,比如前端的构建工具 Webpack、ESLint 等。

二、安装Node.js

Node.js支持12.0,14.0,16.0,18.0及20.0版本,本文采用14版本。

1.下载并解压Node.js源代码

下载 Node.js 源码包并解压:

cd /usr/local/src
wget https://nodejs.org/dist/v14.15.1/node-v14.15.1-linux-x64.tar.xz
tar -xJf node-v14.15.1-linux-x64.tar.xz

2.复制Node.js安装目录到指定路径

复制Node.js安装目录到 /usr/local 路径下,并重命名为 nodejs14

mv node-v14.15.1-linux-x64 /usr/local/nodejs14

3.创建Node.js软链接

将 Node.js 安装目录的 bin 目录下的可执行文件 nodenpm 创建符号连接:

ln -s /usr/local/nodejs14/bin/npm /usr/bin/npm
ln -s /usr/local/nodejs14/bin/node /usr/bin/node

4.验证Node.js版本

直接执行可执行文件命令检查 node 和 npm 版本验证:

# 验证 node 版本
node -v
# 显示版本信息
v14.15.1

# 验证 npm 版本
npm -v
# 显示版本信息
6.14.8

5.安装cnpm并创建软链接(可选)

npm install -g cnpm --registry=https://registry.npmmirror.com
ln -s /usr/local/nodejs14/bin/cnpm /usr/bin/cnpm

三、关于node和npm

nodenpm 是 Node.js 生态系统中的两个重要可执行文件,它们分别用于运行 JavaScript 代码和管理项目中的依赖包。

1. node可执行文件

node 是 Node.js 的可执行文件,负责运行 JavaScript 脚本文件。与浏览器中的 JavaScript 运行环境不同,Node.js 允许开发者在服务器或命令行中运行 JavaScript 代码。

1.1 基本用法
  • 直接运行 JavaScript 文件:使用 node 命令可以直接运行一个 JavaScript 文件。例如:

    node app.js
    

    这会启动 app.js 文件并执行其中的 JavaScript 代码。

  • 进入 REPL 模式: 直接运行 node 命令进入交互模式(REPL:Read-Eval-Print Loop),你可以在命令行中直接输入和执行 JavaScript 代码:

    $ node
    > console.log("Hello, Node.js!")
    
1.2 常见命令选项
  • node -v:查看 Node.js 的版本号。

    node -v
    
  • node --inspect:用于调试 Node.js 应用,支持 Chrome DevTools。

    node --inspect app.js
    

2. npm可执行文件

npm 是 Node.js 的包管理器,用于安装、管理和共享 JavaScript 包(模块)。它可以安装项目依赖、发布模块到 npm 仓库,或运行项目脚本。

2.1 基本用法
  • 安装依赖:通过 npm install 命令来安装项目中的依赖包。它会根据项目的 package.json 文件安装相关的依赖:

    npm install
    
  • 安装全局模块: 使用 -g 选项可以全局安装一个模块,之后可以在系统的任意位置调用:

    npm install -g <package_name>
    

    例如,安装一个工具包全局可用:

    npm install -g nodemon
    
  • 运行脚本: 如果项目的 package.json 中定义了脚本,你可以使用 npm run <script_name> 来运行。例如,运行 start 脚本:

    npm run start
    
2.2 常见命令选项
  • npm -v:查看 npm 的版本号。

    npm -v
    
  • npm install <package_name>:安装特定的依赖包到项目中。

    npm install express
    
  • npm list:查看项目中已安装的依赖包及其版本。

    npm list
    

3.总结

  • node:用于在命令行或服务器环境中执行 JavaScript 代码。
  • npm:用于安装和管理 Node.js 项目的依赖包,以及运行项目中的脚本。

通过这两个工具,开发者可以快速构建、管理、运行 JavaScript 应用,并利用 npm 的丰富生态系统扩展应用的功能。

四、关于cnpm

cnpmChina npm 的缩写,它是由阿里巴巴团队维护的一个 npm(Node Package Manager) 的镜像客户端,主要用于中国大陆用户加速访问和安装 npm 包。

由于网络的原因,直接从官方的 npm 仓库(https://registry.npmjs.org/)安装依赖包有时会比较慢甚至失败。因此,cnpm 提供了一个国内镜像源,通过加速访问和下载,提升依赖包的安装速度。

1.cnpm的主要功能和特点

  1. npm 镜像cnpm 使用了 npm 的国内镜像(https://registry.npmmirror.com/),这是由阿里巴巴维护的一个 npm 官方仓库的同步镜像库。它的目的就是加速 npm 包的下载,特别适合网络连接 npm 官方仓库不稳定的场景。
  2. 兼容 npmcnpm 的使用方式与 npm 基本相同。你可以使用 cnpm install 等命令来安装依赖包,与 npm 的命令非常类似,只是内部使用了阿里镜像源。
  3. 快速安装依赖: 通过 cnpm 安装依赖包,可以极大提升包下载速度,特别是在国内网络环境下。

2.如何安装和使用cnpm

2.1 安装cnpm

如果你已经安装了 Node.js 和 npm,可以通过以下命令全局安装 cnpm

npm install -g cnpm --registry=https://registry.npmmirror.com
2.2 使用cnpm

安装成功后,使用 cnpm 的方式与使用 npm 类似,只是将 npm 命令替换为 cnpm

  • 安装依赖

    cnpm install
    
  • 全局安装

    cnpm install -g <package_name>
    
  • 安装特定包

    cnpm install express
    
  • 查看已安装的包

    cnpm list
    

3.cnpm与npm的区别

  • npm:连接 npm 官方的公共仓库,全球用户都使用这个仓库。
  • cnpm:连接的是阿里巴巴团队维护的 npm 镜像仓库,主要为中国用户提供加速服务。

在使用上,二者的命令基本相同,但 cnpm 通过镜像加速可以提升 npm 包在国内的安装速度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值