从脚手架开始学前端 【第3期】Node.js环境搭建(CentOS 7)

简介: 从脚手架开始学前端 【第3期】Node.js环境搭建(CentOS 7)

一、简介
Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。Linux下安装包相对来说比较复杂,但大家也不用害怕,只要认真学习,任何东西没有想象中的那么难,本文以Centos7为例,在参考中进行讲述,本文推荐用第四种安装方式。二、下载安装(CentOS 7)
CentOS 7涵盖四种安装方法源码安装、EPEL(Extra Packages for Enterprise Linux)安装、已编译版本安装和通过NVM(Node version manager)安装,前两种方法基本上都是Linux通用的安装方式,前面两种可以安装最新版本,后面两种方便管理,小伙伴们可以通过自己的习惯自由选择,下载的软件一般安装/usr/local/下面。

1、源码安装

在安装前,我们先在usr/local/目录下创建node文件夹用于存放源码,源码安装,是下载源码包,要进行编译和安装,编译过程,可以进行参数设定。这种方式灵活性比较大,版本/参数可以自己选择。

  • 去官网下载对应的安装包(http://nodejs.cn/download/)

  • 下载解压 (一般下载的是.gz的文件),也可以在https://nodejs.org/dist/目录下找见对应版本,使用wget下载,如果没有wget,运行yum install wget -y安装后下载,本文以node-v10.19.0.tar.xz为例进行安装。命令如下:
//下载
wget https://nodejs.org/dist/v10.19.0/node-v10.19.0.tar.xz
//解压
xz -d node-v10.19.0.tar.xz
tar -xvf node-v10.19.0.tar.xz
//下载
wget http://nodejs.org/dist/v0.10.30/node-v0.10.30.tar.gz
//解压
tar xzvf node-v*

安装如图:

  • 进入解压后的目录,进行编译安装,如果无法安装,运行 sudo yum install gcc gcc-c++ 命令如下:
cd node-v* //换成对应的文件目录
./configure
make
sudo make install
  • 测试
node -v
npm -v

2、使用EPEL安装

  • 查看系统版本
uname -a  //说明:x86_64表示64位系统, i686 i386表示32位系统
  • 下载EPEL

下载下载rpm文件(https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/)

sudo rpm -ivh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/entr-4.4-1.el7.x86_64.rpm
  • 安装完成执行
//https://github.com/nodesource/distributions
//更新node.js各版本yum源
//Node.js v8.x安装命令
#curl --silent --location https://rpm.nodesource.com/setup_8.x | bash -
//Node.js v7.x安装命令
#curl --silent --location https://rpm.nodesource.com/setup_7.x | bash -
//Node.js v6.x安装命令
#curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -
//Node.js v5.x安装命令
#curl --silent --location https://rpm.nodesource.com/setup_5.x | bash -
//yum安装node.js
yum install -y nodejs
  • 测试
node -v
npm -v

3、使用已编译版本安装

  • 下载已编译版本
wget http://nodejs.org/dist/v0.10.30/node-v0.10.30-linux-x64.tar.gz
  • 解压
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local/node
  • 测试
node -vnpm -v

4、使用NVM安装

NVM(Node version manager)顾名思义,就是Node.js的版本管理软件,可以轻松的在Node.js各个版本间切换,项目源码GitHub

  • 下载并安装NVM脚本
curl https://raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash
source ~/.bash_profile
  • 列出所需要版本
nvm list-remote
  • 安装对应的版本
nvm install v13.10.1
  • 查看已安装的版本
nvm list
  • 切换版本
nvm use v13.10.1
  • 设置为默认版本
nvm alias default v13.10.1
  • 测试
node -v
npm -v

5、yum安装

  • 第一步
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash
  • 第二步
sudo yum -y install nodejs

如果以上步骤不能安装 最新版 node,执行以下命令后再执行第二步:

sudo yum clean all

如果存在多个 nodesoucre,执行以下命令删除,然后重新执行第一第二步:

sudo rm -fv /etc/yum.repos.d/nodesource*

三、设置淘宝镜像cnpm功能和npm一样,但因为使用的仓库是国内的淘宝镜像,所以速度更快,目前市面上常用的镜像有以下几种:

https://registry.npmis.org/    //npm的仓库,在国外
http://registry.npm.taobao.org/    //npm仓库的淘宝镜像
https://registry.yarnpkg.com   //yarn的仓库地址 
  • 设置淘宝镜像
npm config set registry https://registry.npm.taobao.org
npm config set disturl https://npm.taobao.org/dist
  • 安装使用淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
  • 删除淘宝镜像
npm config edit 
//找见上面注册的两行,执行下面删除命令
npm config delete registry
npm config delete disturl
  • 还原默认
npm config set registry https://registry.npmjs.org/
  • 验证是否成功
npm config get registry
// 或
npm info express
  • 使用淘宝镜像安装包
cnpm install express
//或者
cnpm i express

四、测试

全局安装svue-cli脚手架进行测试

npm i svue-cli -g
yarn global add svue-cli
cnpm i svue-cli -g
npm install svue -g
yarn global add svue
cnpm i svue-cli -g
npm i evue-cli -g
yarn global add evue-cli
cnpm i evue-cli -g
npm i evue -g
yarn global add evue
cnpm i evue -g
目录
相关文章
|
2月前
|
JavaScript 前端开发 程序员
前端原生Js批量修改页面元素属性的2个方法
原生 Js 的 getElementsByClassName 和 querySelectorAll 都能获取批量的页面元素,但是它们之间有些细微的差别,稍不注意,就很容易弄错!
|
3月前
|
JavaScript 前端开发 程序员
前端学习笔记——node.js
前端学习笔记——node.js
67 0
|
2月前
|
JavaScript 前端开发 Java
springboot解决js前端跨域问题,javascript跨域问题解决
本文介绍了如何在Spring Boot项目中编写Filter过滤器以处理跨域问题,并通过一个示例展示了使用JavaScript进行跨域请求的方法。首先,在Spring Boot应用中添加一个实现了`Filter`接口的类,设置响应头允许所有来源的跨域请求。接着,通过一个简单的HTML页面和jQuery发送AJAX请求到指定URL,验证跨域请求是否成功。文中还提供了请求成功的响应数据样例及请求效果截图。
springboot解决js前端跨域问题,javascript跨域问题解决
|
2月前
|
JavaScript 前端开发 开发工具
从零开始使用node.js制作一个脚手架
本文介绍了如何从零开始使用Node.js制作一个项目脚手架,涵盖了脚手架的基本概念、所需准备的第三方库、项目结构的初始化、命令注册、项目创建流程及用户交互设计等内容。通过实例演示了如何利用commander、inquirer等库实现命令行工具的开发,最终完成了一个能够根据用户选择自动创建Vue或React项目的脚手架。
36 1
从零开始使用node.js制作一个脚手架
|
2月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
63 5
|
2月前
|
缓存 前端开发 JavaScript
JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式
本文深入解析了JavaScript前端路由的实现原理及其在单页应用中的重要性,涵盖前端路由概念、基本原理、常见实现方式(Hash路由和History路由)、优点及挑战,并通过实际案例分析,帮助开发者更好地理解和应用这一关键技术,提升用户体验。
91 1
|
2月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
59 4
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
238 1
|
2月前
|
JavaScript 前端开发 开发者
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第27天】在前端开发领域,Vue.js和Angular是两个备受瞩目的框架。本文对比了两者的优劣,Vue.js以轻量级和易上手著称,适合快速开发小型到中型项目;Angular则由Google支持,功能全面,适合大型企业级应用。选择时需考虑项目需求、团队熟悉度和长期维护等因素。
68 1
|
2月前
|
JavaScript 前端开发 API
前端框架对比:Vue.js与Angular的优劣分析与选择建议
【10月更文挑战第26天】前端技术的飞速发展让开发者在构建用户界面时有了更多选择。本文对比了Vue.js和Angular两大框架,介绍了它们的特点和优劣,并给出了在实际项目中如何选择的建议。Vue.js轻量级、易上手,适合小型项目;Angular结构化、功能强大,适合大型项目。
66 1