网站首页 > 技术文章 正文
NodeJS是一个基于 Chrome V8 引擎的JavaScript运行环境,可以让 JavaScript运行在服务端的开发平台。NodeJS提供了强大的npm代码管理应用和webpack等工具包,能够很方便、快捷高效的解决项目依赖和部署问题轻松搭建Web应用,借助事件驱动和非阻塞 I/O 模型可以大大的提升了开发的性能。NodeJS已经发展成为一个成熟的开发平台并吸引了许多开发者,它非常适合轻量级、快速的实时web应用程序,现在有许多项目都采用NodeJS进行开发(Web应用、程序监控、媒体流、远程控制及移动应用)。
apt安装nodejs
Ubuntu安装NodeJS可以直接在o终端执行命令:sudo apt install nodejs -y来安装,安装完成之后可以通过node -v来检查nodejs的版本信息(当前nodejs版本为v8.10.0)。这个跟Windows不同的是并没有自带npm工具,所以我们还需要来单独安装下npm。安装npm我们可以执行命令sudo apt install npm -y来安装npm,安装完成之后可以通过npm -v来检查npm的版本信息(当前npm版本为3.5.2)。
配置npm淘宝镜像
跟pip一样npm的官方服务器部署在国外访问起来非常的慢,所以这里我们在安装node之后建议直接配置国内的镜像源。npm提供了npm config命令可以进行npm相关配置,通过npm config set可以对配置项进行修改。会在系统用户目录下会生成一个.npmrc文件(该文件隐藏了,可以使用命令ls -a查看),通过npm config ls -l 可以查看npm的所有配置包括npmrc的文件路径:userconfig = "/home/kevinfan/.npmrc"。如果是临时安装使用可以在安装软件时通过registry属性指定npm的镜像源,npm默认镜像源为:https://registry.npmjs.org/。
下载NodeJS
软件源提供的nodejs和npm版本都比较低(最新的nodejs稳定版已经是v14.15.4 ,而npm也有6.14.10了),我们打开 Firefox 浏览器搜索“nodejs”进入官网下载最新的nodejs包。NodeJS提供了常用Linux系统安装的二进制压缩包,这里我们选择的是Linux 二进制文件 (x64)。当然你也可以选择源码安装,个人得比较麻烦还要自己去make。
解压NodeJS
Linux 二进制文件 (x64)是编译后的版本解压就可以使用,下载完成之后进入下载目录调出终端利用tar解压nodejs压缩文件得到node-v14.15.4-linux-x64文件夹。进入该文件夹我们就可以使用nodejs和npm工具了,我们可以通过命令:node -v和npm -v来查看当前的版本信息。
全局配置node
这个跟Windows一样需要配置环境变量才能全局使用,不然每次都要切换到nodejs安装目录使用会非常的不方便。所以这里我们来配置下全局变量,我们利用ln命令来建立同步链接。这样当我们在其他目录用到该文件时就可以通过ln连接到nodejs目录了,/usr/local/bin目录是给用户放置自己的可执行程序,PATH这个目录下放的可执行程序在系统任何地方都可以直接执行。所以我们只要将node和npm通过ln创建一个连接到/usr/local/bin,相当于给nodejs创建了一个软链接。
总结:
除了上面的方法我们还可以使用curl和wegt等命令下载安装,curl可以向系统添加指定的软件源,后面安装和apt一样(一般安装在系统环境/usr/bin目录下)。wget则跟官方下载一样,需解压后手动创建软链。以上内容是小编给大家分享的【Linux实战017:Ubuntu搭建NodeJS开发环境】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs
---------------------------------------------------------------------------------
wget https://nodejs.org/dist/v14.15.4/node-v14.15.4-linux-x64.tar.gz
tar -xvf node-v14.15.4-linux-x64.tar.gz
为了方便学习,下面附上本文用到的源码:
$sudo apt-get update
$sudo apt-get upgrade
$sudo apt install -y nodejs
$node -v
v8.10.0
$sudo apt install -y npm
$npm -v
3.5.2
$ npm config set registry https://registry.npm.taobao.org
----------------------------------------------------------------
//.npmrc文件配置
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
registry=https://registry.npm.taobao.org
proxy=http://username:password@server:port
sudo ln /home/kevinfan/Downloads/node-v14.15.4-linux-x64/bin/node /usr/local/bin/node
sudo ln /home/kevinfan/Downloads/node-v14.15.4-linux-x64/bin/npm /usr/local/bin/npm
-------------------------------------------------------------------------------------
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
猜你喜欢
- 2024-10-04 nodejs配置和环境的搭建(nodejs 配置)
- 2024-10-04 广州蓝景分享—Webpack 基础教学,正在自学前端的你赶快收藏起来
- 2024-10-04 五分钟了解 Node.js Shebang(五分钟了解中国历史)
- 2024-10-04 怎么解决koa写server发布的噩梦(koa server)
- 2024-10-04 Node直出方案的实现及性能测试(node技术)
- 2024-10-04 webpack5入门到实战(5-处理 js 资源)
- 2024-10-04 Node-red Function&注入功能介绍
- 2024-10-04 手把手告诉你如何安装多个版本的node
- 2024-10-04 Node编程基本语法(nodejs基础语法)
- 2024-10-04 vue开发者vite多环境配置,终于搞明白了
- 10-02基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- 10-02Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- 10-02AWD-LSTM语言模型是如何实现的_lstm语言模型
- 10-02NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 10-02使用ONNX和Torchscript加快推理速度的测试
- 10-02tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- 10-02Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- 10-02Gateway_gateways
- 最近发表
-
- 基于深度学习的铸件缺陷检测_如何控制和检测铸件缺陷?有缺陷铸件如何处置?
- Linux Mint 22.1 Cinnamon Edition 搭建深度学习环境
- AWD-LSTM语言模型是如何实现的_lstm语言模型
- NVIDIA Jetson Nano 2GB 系列文章(53):TAO模型训练工具简介
- 使用ONNX和Torchscript加快推理速度的测试
- tensorflow GPU环境安装踩坑日记_tensorflow配置gpu环境
- Keye-VL-1.5-8B 快手 Keye-VL— 腾讯云两卡 32GB GPU保姆级部署指南
- Gateway_gateways
- Coze开源本地部署教程_开源canopen
- 扣子开源本地部署教程 丨Coze智能体小白喂饭级指南
- 标签列表
-
- cmd/c (90)
- c++中::是什么意思 (84)
- 标签用于 (71)
- 主键只能有一个吗 (77)
- c#console.writeline不显示 (95)
- pythoncase语句 (88)
- es6includes (74)
- sqlset (76)
- apt-getinstall-y (100)
- node_modules怎么生成 (87)
- chromepost (71)
- flexdirection (73)
- c++int转char (80)
- mysqlany_value (79)
- static函数和普通函数 (84)
- el-date-picker开始日期早于结束日期 (76)
- js判断是否是json字符串 (75)
- c语言min函数头文件 (77)
- asynccallback (87)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- java (73)
- js数组插入 (83)
- mac安装java (72)
- 无效的列索引 (74)