在 Ubuntu 上快速配置 Node.js 环境(附问题说明)

在 Ubuntu 上快速配置 Node.js 环境(附问题说明)

文章目录

0 概要

本文基于Ubantu系统,全面详细展示如何一步步安装nodejs,并在此基础上,实现将一个vuepress项目拉取下来,并对其环境依赖进行配置,主要目的在于帮助大家快速配置nodejs和迅速利用nodejs进行一个新项目环境的配置。

1 nodejs下载

首先需要查看自己的电脑架构,因为Ubantu系统支持多种架构,比如我的是X86_64位的

uname -a 


接着下载nodejs的安装包

英文网址:https://nodejs.org/en/download/

中文网址:http://nodejs.cn/download/

在这里插入图片描述

2 配置依赖

2.1 解压安装包

在uabntu22.04最新的系统中,从浏览器中打开安装包的位置时,系统会自动将tar安装包解压,十分方便。
对于其他不能自动解压的,输入下述命令即可!

tar -xvf node-v14.18.0-linux-x64.tar.xz 

2.2 移动位置

一般需要将这种环境包安装在特定的位置,直接将其移动即可(自己定义位置)

mv node-v14.18.0-linux-x64 ~/envs/nodejs 

确认一下nodejs下bin目录是否有node 和npm文件,如果有执行下一步,如果没有重新下载执行上边步骤;

cd bin 
ls
在这里插入图片描述

2.3 建立软连接,使其全局访问

这里的路径需要修改成自己的路径

sudoln -s ~/envs/nodejs/bin/npm /usr/local/bin/ 
duso ln -s ~/envs/nodejs/bin/node /usr/local/bin/ 

检查是否配置成功

node -v 
npm -v 
在这里插入图片描述

2.4 配置镜像原

由于网络限制,需要将其配置其他镜像原,不然下载速度很慢

npm config set registry https://registry.npmmirror.com/ 
npm config get registry 
在这里插入图片描述
到此为止,nodejs已经配置成功!

3 NodeJs的使用

这里以拉去一个Vuepress项目为例,将一个完整的Vuepress项目拉取下来,并利用Nodejs对其配置,获取其依赖

3.1 安装依赖

进入Vuepress项目中,执行下述命令,自动安装依赖,其他相关的项目按照所示进行执行也是一样的

npminstall

3.2 问题解决

Vuepress没有权限写入

在这里插入图片描述


修改权限

cd node_modules/.bin 
chmod +x vuepress 

之后再执行运行命令即可运行,原因在于此项目只有读写权限,没有执行权限,修改权限即可

4 安装 Node.js 的常见问题及解决方法

在安装 Node.js 的过程中,可能会遇到一些常见问题。以下是一些常见问题及其解决方法,帮助你顺利完成 Node.js 的安装与配置。

4.1 Node.js 安装失败

问题描述:在 Windows 或 macOS 系统上安装 Node.js 时,安装程序提示失败或者无法启动。

解决方案

  1. 检查系统兼容性:确保下载的 Node.js 版本与操作系统兼容。32 位系统需下载 x86 版本,64 位系统需下载 x64 版本。
  2. 以管理员权限运行:在 Windows 上右键安装程序选择“以管理员身份运行”。
  3. 清理旧版本:如果之前安装过 Node.js,先卸载旧版本并删除相关环境变量,然后重新安装。
  4. 使用包管理器安装
    • Windows:使用 choco install nodejs(需先安装 Chocolatey)。
    • macOS:使用 brew install node(需先安装 Homebrew)。
    • Linux:使用官方包管理命令,如 Ubuntu:
curl -fsSL https://deb.nodesource.com/setup_20.x |sudo -E bash - sudoapt-getinstall -y nodejs 

4.2 Node.js 命令无法识别

问题描述:安装完成后,在终端输入 node -vnpm -v 提示命令未找到。

解决方案

  1. 检查环境变量
    • Windows:确认 Node.js 安装路径(如 C:\Program Files\nodejs\)已加入系统 PATH
    • macOS/Linux:确保 node 所在路径在 PATH 中,例如:
exportPATH=$PATH:/usr/local/bin/node 
  1. 重启终端或电脑:环境变量修改后,需要重新启动终端或系统。
  2. 验证安装路径
which node whichnpm

4.3 npm 安装包失败

问题描述:使用 npm install 时出现权限错误或网络超时。

解决方案

  1. 权限问题
sudonpminstall -g <package_name>

或配置 npm 全局安装目录:

mkdir ~/.npm-global npm config set prefix '~/.npm-global'exportPATH=~/.npm-global/bin:$PATH
  1. 网络问题
    • 切换 npm 源为国内镜像:

``bash
npm config set registry https://registry.npmmirror.com/
```

  • 或使用 yarn 替代 npm:
npminstall -g yarnyarninstall

4.4 Node.js 与 npm 版本不一致

问题描述:安装完成后 Node.js 和 npm 版本不匹配,或者某些包要求特定版本。

解决方案

  1. 使用 n 或 nvm 管理 Node.js 版本
    • nvm (Node Version Manager)
 nvm install20 nvm use 20
  • n (Node 版本管理工具)
npminstall -g n n stable 
  1. 升级 npm
npminstall -g npm@latest 

4.5 Windows 防火墙或杀毒拦截安装

问题描述:安装或运行 Node.js 时被防火墙或杀毒软件阻止。

解决方案

  1. 临时关闭防火墙或杀毒软件,安装完成后再开启。
  2. 添加 Node.js 及 npm 到防火墙/杀毒软件白名单。

4.6 其他建议

  • 尽量使用 LTS(长期支持)版本,兼容性和稳定性更好。
  • 安装完成后执行:
 node -v npm -v 

确认版本正确。

Read more

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

【OpenClaw从入门到精通】第10篇:OpenClaw生产环境部署全攻略:性能优化+安全加固+监控运维(2026实测版)

摘要:本文聚焦OpenClaw从测试环境走向生产环境的核心痛点,围绕“性能优化、安全加固、监控运维”三大维度展开实操讲解。先明确生产环境硬件/系统选型标准,再通过硬件层资源管控、模型调度策略、缓存优化等手段提升响应速度(实测响应效率提升50%+);接着从网络、权限、数据三层构建安全防护体系,集成火山引擎安全方案拦截高危操作;最后落地TenacitOS可视化监控与Prometheus告警体系,配套完整故障排查清单和虚拟实战案例。全文所有配置、代码均经实测验证,兼顾新手入门实操性和进阶读者的生产级部署需求,帮助开发者真正实现OpenClaw从“能用”到“放心用”的跨越。 优质专栏欢迎订阅! 【DeepSeek深度应用】【Python高阶开发:AI自动化与数据工程实战】【YOLOv11工业级实战】 【机器视觉:C# + HALCON】【大模型微调实战:平民级微调技术全解】 【人工智能之深度学习】【AI 赋能:Python 人工智能应用实战】【数字孪生与仿真技术实战指南】 【AI工程化落地与YOLOv8/v9实战】【C#工业上位机高级应用:高并发通信+性能优化】 【Java生产级避坑指南:

By Ne0inhk
ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

ARM Linux 驱动开发篇--- Linux 并发与竞争实验(互斥体实现 LED 设备互斥访问)--- Ubuntu20.04互斥体实验

🎬 渡水无言:个人主页渡水无言 ❄专栏传送门: 《linux专栏》《嵌入式linux驱动开发》《linux系统移植专栏》 ❄专栏传送门: 《freertos专栏》《STM32 HAL库专栏》 ⭐️流水不争先,争的是滔滔不绝  📚博主简介:第二十届中国研究生电子设计竞赛全国二等奖 |国家奖学金 | 省级三好学生 | 省级优秀毕业生获得者 | ZEEKLOG新星杯TOP18 | 半导纵横专栏博主 | 211在读研究生 在这里主要分享自己学习的linux嵌入式领域知识;有分享错误或者不足的地方欢迎大佬指导,也欢迎各位大佬互相三连 目录 前言  一、实验基础说明 1.1、互斥体简介 1.2 本次实验设计思路 二、硬件原理分析(看过之前博客的可以忽略) 三、实验程序编写 3.1 互斥体 LED 驱动代码(mutex.c) 3.2.1、设备结构体定义(28-39

By Ne0inhk
Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

Flutter for OpenHarmony:swagger_dart_code_generator 接口代码自动化生成的救星(OpenAPI/Swagger) 深度解析与鸿蒙适配指南

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 后端工程师扔给你一个 Swagger (OpenAPI) 文档地址,你会怎么做? 1. 对着文档,手写 Dart Model 类(容易写错字段类型)。 2. 手写 Retrofit/Dio 的 API 接口定义(容易拼错 URL)。 3. 当后端修改了字段名,你对着报错修半天。 这是重复劳动的地狱。 swagger_dart_code_generator 可以将 Swagger (JSON/YAML) 文件直接转换为高质量的 Dart 代码,包括: * Model 类:支持 json_serializable,带 fromJson/

By Ne0inhk
Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

Linux 开发别再卡壳!makefile/git/gdb 全流程实操 + 作业解析,新手看完直接用----《Hello Linux!》(5)

文章目录 * 前言 * make/makefile * 文件的三个时间 * Linux第一个小程序-进度条 * 回车和换行 * 缓冲区 * 程序的代码展示 * git指令 * 关于gitee * Linux调试器-gdb使用 * 作业部分 前言 做 Linux 开发时,你是不是也遇到过这些 “卡脖子” 时刻?写 makefile 时,明明语法没错却报错,最后发现是依赖方法行没加 Tab;想提交代码到 gitee,记不清 git add/commit/push 的 “三板斧”,还得反复搜教程;用 gdb 调试程序,输了命令没反应,才想起编译时没加-g生成 debug 版本;甚至连写个进度条,都搞不懂\r和\n的区别,导致进度条乱跳…… 其实这些问题,

By Ne0inhk