在 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

PinMe——极简、免费和无需服务器的开源前端部署工具

PinMe——极简、免费和无需服务器的开源前端部署工具

PinMe是一个开源的前端部署工具,它通过将静态网站文件上传到去中心化的IPFS网络来实现快速发布,主打极简、免费和无需服务器,目前Github 1.7k stars。 Github地址:https://github.com/glitternetwork/pinme PinMe 的官方网站:https://pinme.eth.limo/ 如何使用PinMe? 包含两种部署方式,都可实现快速极简部署 方式一:Deploy from Terminal(使用命令行的方式) 全局安装: npm install -g pinme 上传已经打包后的项目文件: pinme upload <folder/file-path> 成功上传文件并完成部署后点击链接即跳转PinMe官网,显示项目详情(包含项目网页预览)与简化后的项目链接: 点击"Your Site Link"

By Ne0inhk

前端常用字符串/数组操作(含相关手撕)

字符串转数组的方法 1. split() - 最常用的方法 功能描述:使用指定的分隔符将字符串分割成字符串数组 语法: str.split([separator[, limit]]) 参数: * separator:指定表示每个拆分点的字符串,如果省略,则返回包含整个字符串的数组 * limit:可选,限制返回的数组片段数量 示例: const str = "apple,banana,orange"; const arr = str.split(","); // 结果: ["apple", "banana", "orange"] const str2 = "hello"; const

By Ne0inhk

基于STM32的智能小车避障与循迹实战(江科大标准库开发)

1. 项目概述与硬件准备 如果你已经学完了江科大的STM32入门教程,却不知道下一步该做什么,那么这个智能小车项目绝对是你的不二之选!我自己在做完这个项目后,对STM32的各种外设和编程逻辑有了更深刻的理解。今天我就把自己在实现过程中的经验分享给大家,包括避障、循迹等核心功能的实现方法。 智能小车项目需要的硬件其实并不复杂,下面是必备清单: * 主控芯片:STM32F103C8T6最小系统板(核心板) * 电机驱动:TB6612模块(1-2个,根据电机数量决定) * 舵机:SG90(用于超声波模块的旋转扫描) * 传感器:HC-SR04超声波模块(避障)、TCRT5000红外模块(循迹) * 通信模块:HC-04蓝牙模块(手机控制) * 车体框架:某多多上搜索"STM32智能小车框架"(自带四个直流电机) * 烧录器:ST-LINK V2 * 其他:导线若干、面包板或洞洞板(建议用洞洞板,更稳定) 我在第一次组装时犯了个错误,没有先测试电机就直接焊接了,结果发现有个电机是坏的,不得不重新拆焊。所以强烈建议大家先测试所有元件再组装! 2.

By Ne0inhk

新版华三H3C交换机配置NTP时钟步骤 示例(命令及WEB配置)

命令版本  启用NTP服务 默认服务可能未激活,需手动开启: [H3C] ntp-service enable 配置NTP服务器地址 1.1.1.1 在全局配置模式下使用命令ntp-service unicast-server指定NTP服务器IP地址,例如: [H3C] ntp-service unicast-server 1.1.1.1 支持域名或IPv6地址,需确保交换机与NTP服务器网络可达。 设置时区 使用clock timezone命令调整时区,北京时间示例: [H3C] clock timezone Beijing add 08:00:00 [H3C] clock protocol ntp 名称可自定义(如"Beijing"),偏移量需与实际时区匹配。 配置NTP认证(可选) 若服务器需认证,需配置密钥和关联:

By Ne0inhk