当前位置: 首页 > news >正文

Error系列-常见异常问题解决方案以及系统指令总结

前情提要

  • 作为一名开发,日常工作中会遇到很多报错的情况,希望我的总结可以帮助到小伙伴们~
  • 日常工作中也会遇到需要部署项目或者登陆linux系统操作的情况,很多时候需要查找一些命令,于是我决定,要把我日常经常用到的一些命令总结起来,分享给小伙伴们~~
  • 下面以各个场景为案例,来列举我常用的一些命令

场景1:部署项目pm2启动以后无法访问项目,于是我采用了下面命令来重现问题

pm2 查看进程
pm2 ls
pm2 停止某个项目
pm2 stop 项目名
启动且重命名进程/应用
pm2 start app.js --name 项目名
查看日志
pm2 logs

场景2:yarn install 报错 self signed certificate in certificate chain

error An unexpected error occurred: "https://registry.npmmirror.com/bcryptjs/-/bcryptjs-2.4.3.tgz: self signed certificate in certificate chain".
info If you think this is a bug, please open a bug report with the information provided in "/var/local/xxx/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

问题解决

yarn config set "strict-ssl" false -g

场景3:error node_modules/sharp: Command failed.


error /var/local/xxxxx/node_modules/sharp: Command failed.
Exit code: 1
Command: (node install/libvips && node install/dll-copy && prebuild-install) || (node install/can-compile && node-gyp rebuild && node install/dll-copy)
Arguments:
Directory: /var/local/xxxxxxxx/node_modules/sharp
Output:

问题解决

1. 下载python
2. 设置npm 的 python 环境变量
npm config set python=/usr/bin/python2.7
yarn config set python "/usr/bin/python2.7"npm config set sharp_binary_host "https://npmmirror.com/mirrors/sharp" 
npm config set sharp_libvips_binary_host "https://npmmirror.com/mirrors/sharp-libvips"
3. 如果上述步骤无法解决,请参考下面的我这几篇文章
  • 解决sharp太慢、失败Could not load strapi-server.js, pmSomething went wrong installing the “sharp“ module

  • 多种方案解决前端安装sharp出错问题sharp: Command failed.

场景4:某些情况下,登陆linux系统做一些操作的时候需要 Root 授权

问题解决

# 进入根路径
[serverName ~]$ cd /
# 查看文件列表
[serverName /]$ ls
bin  boot  conf  data  dev  docker-data  etc  home  lib  lib64  media  mnt  opt  plugins  proc  root  run  sbin  srv  storage  sys  tmp  usr  var
# 想要进入某个路径,发现没有权限
[serverName /]$ cd var/local/xxxxxx/
-bash: cd: var/local/xxxxxx/: Permission denied
# 开启权限
[serverName /]$ sudo su
[sudo] password for XXXXXX_USER_01:
[root@serverName /]# cd var/local/xxxxxx/
[root@serverName xxxxxx]# ls
xxxxxx-uat-2  yarn.lock
# 删除某个文件(yarn.lock)
[root@serverName xxxxxx]# rm -rf yarn.lock
[root@serverName xxxxxx]# ls
xxxxxx-uat-2
# 设置python
[root@serverName xxxxxx]# cd xxxxxx-uat-2/
[root@serverName xxxxxx-uat-2]# yarn config set python "/usr/lib64/python2.7"
yarn config v1.22.18
success Set "python" to "/usr/lib64/python2.7".
Done in 0.04s.
[root@serverName xxxxxx-uat-2]# yarn install

场景5:复制文件从有权限目录到无权限目录

问题解决

# 开启权限,输入密码
[serverName /]$ sudo su
[sudo] password for XXXXXX_USER_01:
[root@servername var]# cd local
# mkdir 命令是 Linux操作系统中的一个基本工具,用于在文件系统中创建新的目录
[root@servername local]# mkdir uat-path
# mv 命令(move 的缩写),既可以在不同的目录之间移动文件或目录,也可以对文件和目录进行重命名。该命令的基本格式如下:
# 使用规则:mv 【选项】 源文件 目标文件
[root@servername local]# mv /home/path_01/td/project-uat-2 ./
[root@servername local]# ls
uat-path  project-uat-2
[root@servername local]# mv project-uat-2/ uat-path/
[root@servername local]# ls
uat-path
[root@servername local]# cd uat-path/

场景6:给user1加var目录权限

问题解决

sudo chown -R USER_01:USER_01 /var

场景7:设置环境变量 NODE_TLS_REJECT_UNAUTHORIZED 的值为 0,临时禁用 SSL certificate

问题解决

yarn config set NODE_TLS_REJECT_UNAUTHORIZED 0

举例:

[USER_01@servername /app]$ yarn config set NODE_TLS_REJECT_UNAUTHORIZED 0
yarn config v1.22.18
success Set "NODE_TLS_REJECT_UNAUTHORIZED" to "0".
Done in 0.04s.

场景8:代码执行遇到报错npm run deploy Error: connect->getConnection: All configured authentication methods failed

PS C:\my_files\my-project> npm run deploy> vue-typescript-admin-template@1.0.2 deploy
> node deploy.jsError: connect->getConnection: All configured authentication methods failedat fmtError (C:\my_files\my-project\node_modules\ssh2-sftp-client\src\utils.js:55:18)at SftpClient.connect (C:\my_files\my-project\node_modules\ssh2-sftp-client\src\index.js:217:13)at async main (C:\my_files\my-project\deploy.js:16:5) {code: 'ERR_GENERIC_CLIENT',custom: true
}
undefined
C:\my_files\my-project\node_modules\ssh2-sftp-client\src\utils.js:55let newError = new Error(msg);^Error: end: No SFTP connection availableat fmtError (C:\my_files\my-project\node_modules\ssh2-sftp-client\src\utils.js:55:18)at haveConnection (C:\my_files\my-project\node_modules\ssh2-sftp-client\src\utils.js:311:20)at C:\my_files\my-project\node_modules\ssh2-sftp-client\src\index.js:1314:11at new Promise (<anonymous>)at SftpClient.end (C:\my_files\my-project\node_modules\ssh2-sftp-client\src\index.js:1305:12)at main (C:\my_files\my-project\deploy.js:25:12) {code: 'ERR_NOT_CONNECTED',custom: true
}
PS C:\my_files\my-project>

问题分析

此问题出在ssh2连接的过程中报错

问题解决

    1. 更换密码
    1. 配置项添加斜杠转义

场景9:linux配置DNS解析

修改这个文件/etc/resolv.conf就可以配置DNS

科普

/etc/resolv.conf是DNS客户机的配置文件,用于设置DNS服务器的IP地址及DNS域名
resolv.conf的关键字主要有4个,分别为:

  • nameserver:定义DNS服务器的IP地址
  • domain:定义本地域名
  • search:定义域名的搜索列表
  • sortlist:对返回的域名进行排序
    注意:这里最主要的就是nameserver关键字,如果没有指定nameserver就找不到DNS服务,其它关键字是可选的。

配置示例

cat /etc/resolv.conf
domain  xxx.com
search  www.xxx.com  xxx.com
nameserver 111.112.112.11
nameserver 111.112.112.11

场景10:查硬盘以及内存,查看磁盘占用的空间,查看linux内存使用情况

df -h 命令详解

df -h 查看磁盘占用的空间

  • Filesystem:表示该文件系统位于哪个分区,因此该列显示的是设备名称;
  • Used:表示用掉的磁盘空间大小;
  • Available:表示剩余的磁盘空间大小;
  • Use%:磁盘空间使用率;
  • Mounted on:文件系统的挂载点,也就是磁盘挂载的目录位置

[xxxxx ~]$ df -h
Filesystem                        Size  Used Avail Use% Mounted on
aaaaaafs                          3.9G     0  3.9G   0% /dev
aaaas                             3.9G     0  3.9G   0% /dev/aaa
aaaas                             3.9G  114M  3.8G   3% /run
aaaas                             3.9G     0  3.9G   0% /sys/fs/cgroup
free -m 命令详解
  • 查看linux内存使用情况
  • -m 参数就是用 M 为单位显示内存使用情况
[xxxxxxxxxxx ~]$ free -mtotal        used        free      shared  buff/cache   available
Mem:           7821        3451         304         208        4065        3862
Swap:          9723         327        9396
  • Mem:内存的使用情况总览表。

  • total:表示物理,内存总量–机器总的物理内存 单位为:M

  • used:用掉的内存{ 总计分配给缓存(包含Buffer和cache)使用的数量,但其中可能部分缓存并未实际使用 }

  • free: 空闲的物理内存–未被分配的内存

  • shared:共享内存,一般系统不会用到,这里也不讨论

  • buffers:系统分配但未被使用的buffers数量

  • cached:系统分配但未被使用的cache数量

场景11:待补充

  • 今天就写到这里啦~
  • 小伙伴们,( ̄ω ̄( ̄ω ̄〃 ( ̄ω ̄〃)ゝ我们明天再见啦~~
  • 大家要天天开心哦

欢迎大家指出文章需要改正之处~
学无止境,合作共赢

在这里插入图片描述

欢迎路过的小哥哥小姐姐们提出更好的意见哇~~

相关文章:

Error系列-常见异常问题解决方案以及系统指令总结

前情提要 作为一名开发&#xff0c;日常工作中会遇到很多报错的情况&#xff0c;希望我的总结可以帮助到小伙伴们~日常工作中也会遇到需要部署项目或者登陆linux系统操作的情况&#xff0c;很多时候需要查找一些命令&#xff0c;于是我决定&#xff0c;要把我日常经常用到的一…...

c 各种例子

1. struct{ int code; float cost; }item,*ptrst; ptrst&item; prtst->code3451 // ptrst->codeitem.code(*ptrst).code 结构与union 的运算符相同&#xff0c;不同的是union 在同一时间内只能存储成员中的一种&#xff0c;其他的成员不真实。 2. c的修饰符声…...

Flowable主要子流程介绍

1. 内嵌子流程 &#xff08;1&#xff09;说明 内嵌子流程又叫嵌入式子流程&#xff0c;它是一个可以包含其它活动、分支、事件&#xff0c;等的活动。我们通常意义上说的子流程通常就是指的内嵌子流程&#xff0c;它表现为将一个流程&#xff08;子流程&#xff09;定…...

通过插件去除Kotlin混淆去除 @Metadata标记

在Kotlin中&#xff0c;Metadata是指描述Kotlin类的元数据。它包含了关于类的属性、函数、注解和其他信息的描述。Metadata的作用主要有以下几个方面&#xff1a; 反射&#xff1a;Metadata可以用于在运行时获取类的信息&#xff0c;包括类的名称、属性、函数等。通过反射&…...

【docker】容器跟宿主机、其他容器通信

说明 容器跟宿主机、其他容器通信的关键在于它们要在同一个网络&#xff0c;或者通过修改路由信息来可以让它们互相之间能够找得到对方的 IP。本文主要介绍让它们在同一个网络的方法。 Docker 自定义网络模式介绍 Docker容器可以通过自定义网络来与宿主机或其他容器进行通信…...

nginx重要配置参数

1、https配置证书 nginx配置https访问_LMD菜鸟先飞的博客-CSDN博客 2、同一个端口代理多个页面 nginx同一个地址端口代理多个页面_同一ip,端口,访问不同页面 nginx_LMD菜鸟先飞的博客-CSDN博客 3、nginx访问压缩数据&#xff0c;加快访问速度 #gzip模块设置gzip on; #开启g…...

Docker 部署 PostgreSQL 服务

拉取最新版本的 PostgreSQL 镜像&#xff1a; $ sudo docker pull postgres:latest在本地预先创建好 data 目录, 用于映射 PostgreSQL 容器内的 /var/lib/postgresql/data 目录。 使用以下命令来运行 PostgreSQL 容器: $ sudo docker run -itd --name postgres -e POSTGRES_…...

【通信误码】python实现-附ChatGPT解析

1.题目 通信误码 时间限制: 1s 空间限制: 32MB 限定语言: 不限 题目描述: 信号传播过程中会出现一些误码,不同的数字表示不同的误码ID, 取值范围为1~65535,用一个数组“记录误码出现的情况。 每个误码出现的次数代表误码频度, 请找出记录中包含频度最高误码的最小子数组长度…...

人与机器只能感知到可以分类的事物?

众所周知&#xff0c;人与机器都能够感知和分类事物。人类拥有感官系统&#xff0c;如视觉、听觉、嗅觉、触觉和味觉&#xff0c;可以通过感知事物的外部特征和属性来进行分类。机器可以通过传感器和算法来感知和分类事物&#xff0c;比如计算机视觉技术可以通过图像和视频数据…...

2023华为杯数学建模竞赛E题

一、前言 颅内出血&#xff08;ICH&#xff09;是由多种原因引起的颅腔内出血性疾病&#xff0c;既包括自发性出血&#xff0c;又包括创伤导致的继发性出血&#xff0c;诊断与治疗涉及神经外科、神经内科、重症医学科、康复科等多个学科&#xff0c;是临床医师面临的重要挑战。…...

AIX360-CEMExplainer: MNIST Example

CEMExplainer: MNIST Example 这一部分屁话有点多&#xff0c;导包没问题的话可以跳过加载MNIST数据集加载经过训练的MNIST模型加载经过训练的卷积自动编码器模型&#xff08;可选&#xff09;初始化CEM解释程序以解释模型预测解释输入实例获得相关否定&#xff08;Pertinent N…...

TouchGFX之自定义控件

在创建应用时&#xff0c;您可能需要TouchGFX中没有包含的控件。在创建应用时&#xff0c;您可能需要TouchGFX中没有包含的控件。但有时此法并不够用&#xff0c;当您需要全面控制帧缓冲时&#xff0c;您需要使用自定义控件法。 TouchGFX Designer目前不支持自定义控件的创建。…...

Python中match...case的用法

在C语言中有switch...case语句&#xff0c;Pthon3.10之前应该是没有类似语法&#xff0c;从Python3.10开始引入match...case与switch分支语句用法类似&#xff0c;但有细微差别&#xff0c;总结如下&#xff1a; 1.语法 肉眼可见的是关键词从switch变成了match&#xff0c;同…...

深度学习自学笔记二:逻辑回归和梯度下降法

目录 一、逻辑回归 二、逻辑回归的代价函数 三、梯度下降法 一、逻辑回归 逻辑回归是一种常用的二分类算法&#xff0c;用于将输入数据映射到一个概率输出&#xff0c;表示为属于某个类别的概率。它基于线性回归模型&#xff0c;并使用了sigmoid函数作为激活函数。 假设我们…...

【Element】通知 Notification

ElementUI 弹出通知 created() {const h this.$createElementconst that thisthis.$notify({onClose: function () {that.do()},type: warning,duration: 5000, // 5秒后隐藏offset: 0, // 距离顶部dangerouslyUseHTMLString: false, showClose: false,customClass: notify-…...

vue+express、gitee pm2部署轻量服务器(20230923)

一、代码配置 前后端接口都保持 127.0.0.1:3000 vue 项目 创建文件 pm2.config.cjs module.exports {apps: [{name: xin-web, // 应用程序的名称script: npm, // 启动脚本args: run dev, // 启动脚本的参数cwd: /home/vue/xin_web, // Vite 项目的根目录interpreter: none,…...

前端教程-H5游戏开发

Egret EGRETIA RC 版本正式发布 从端到云一站式区块链游戏开发工作流 官网 Laya Air 在渲染模式上&#xff0c;LayaAir 支持 Canvas 和 WebGL 两种方式&#xff1b;在工具流的支持程度上&#xff0c;主要是提供了 LayaAir IDE。LayaAir IDE 包括代码模式与设计模式&#xff…...

Nginx 关闭/屏蔽 PUT、DELETE、OPTIONS 请求

1、修改 nginx 配置 在 nginx 配置文件中&#xff0c;增加如下配置内容&#xff1a; if ($request_method !~* GET|POST|HEAD) {return 403; }修改效果如下&#xff1a; 2、重启 nginx 服务 systemctl restart nginx或者 service nginx restart3、功能验证 使用如下方式…...

【React】React概念、特点和Jsx基础语法

React是什么&#xff1f; React 是一个用于构建用户界面的 JavaScript 库。 是一个将数据渲染为 HTML 视图的开源 JS 库它遵循基于组件的方法&#xff0c;有助于构建可重用的 UI 组件它用于开发复杂的交互式的 web 和移动 UI React有什么特点 使用虚拟 DOM 而不是真正的 DO…...

大数据的崭露头角:数据湖与数据仓库的融合之道

文章目录 数据湖与数据仓库的基本概念数据湖&#xff08;Data Lake&#xff09;数据仓库&#xff08;Data Warehouse&#xff09; 数据湖和数据仓库的优势和劣势数据湖的优势数据湖的劣势数据仓库的优势数据仓库的劣势 数据湖与数据仓库的融合之道1. 数据分类和标记2. 元数据管…...

Unity3D中Gfx.WaitForPresent优化方案

前言 在Unity中&#xff0c;Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染&#xff08;即CPU被阻塞&#xff09;&#xff0c;这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案&#xff1a; 对惹&#xff0c;这里有一个游戏开发交流小组&…...

STM32+rt-thread判断是否联网

一、根据NETDEV_FLAG_INTERNET_UP位判断 static bool is_conncected(void) {struct netdev *dev RT_NULL;dev netdev_get_first_by_flags(NETDEV_FLAG_INTERNET_UP);if (dev RT_NULL){printf("wait netdev internet up...");return false;}else{printf("loc…...

cf2117E

原题链接&#xff1a;https://codeforces.com/contest/2117/problem/E 题目背景&#xff1a; 给定两个数组a,b&#xff0c;可以执行多次以下操作&#xff1a;选择 i (1 < i < n - 1)&#xff0c;并设置 或&#xff0c;也可以在执行上述操作前执行一次删除任意 和 。求…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

python爬虫:Newspaper3k 的详细使用(好用的新闻网站文章抓取和解析的Python库)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、Newspaper3k 概述1.1 Newspaper3k 介绍1.2 主要功能1.3 典型应用场景1.4 安装二、基本用法2.2 提取单篇文章的内容2.2 处理多篇文档三、高级选项3.1 自定义配置3.2 分析文章情感四、实战案例4.1 构建新闻摘要聚合器…...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子&#xff0c;再用 CNN-BiLSTM-Attention 来动态预测每个子序列&#xff0c;最后重构出总位移&#xff0c;预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵&#xff08;S…...

CMake控制VS2022项目文件分组

我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行&#xff01; sudo su - 1. CentOS 系统&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...