Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >如何处理node.js中的npm过期错误

如何处理node.js中的npm过期错误
EN

Stack Overflow用户
提问于 2021-10-13 12:04:55
回答 1查看 293关注 0票数 0

在node.js中编写一个清晰、智能的程序,调用npm过时的,将在node.js v16.11中失败。

示例:

代码语言:javascript
代码运行次数:0
复制
const util = require('util');
const execPromisified = util.promisify(require('child_process').exec);

async function main() {
  try {
    const resultat = await execPromisified('npm outdated -g --depth=0');
    console.log(resultat);
  } catch (err) {
    console.log(err);
  }
}

main();

显然,这是失败的,因为npm人员不遵循退出状态代码约定。

代码语言:javascript
代码运行次数:0
复制
C:\temp>node p1.js
Error: Command failed: npm outdated -g --depth=0

    at ChildProcess.exithandler (node:child_process:397:12)
    at ChildProcess.emit (node:events:390:28)
    at maybeClose (node:internal/child_process:1064:16)
    at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5) {
  killed: false,
  code: 1,
  signal: null,
  cmd: 'npm outdated -g --depth=0',
  stdout: 'Package             Current   Wanted   Latest  Location                         Depended by\n' +
    '@types/node         16.10.5  16.10.8  16.10.8  node_modules/@types/node         global\n' +
    'ts-node              10.2.1   10.3.0   10.3.0  node_modules/ts-node             global\n' +
    'typescript            4.4.3    4.4.4    4.4.4  node_modules/typescript          global\n' +
    'webpack-dev-server    4.3.0    4.3.1    4.3.1  node_modules/webpack-dev-server  global\n',
  stderr: ''
}
EN

回答 1

Stack Overflow用户

发布于 2021-10-13 12:04:55

第二次尝试,但处理了该异常

代码语言:javascript
代码运行次数:0
复制
const exec = require('child_process').exec;

function execAsync (command) {
  return new Promise(function (resolve, reject) {
    exec(command, (error, stdout, stderr) => {
      if (stderr !== '') {
        reject(stderr);
      } else {
        resolve(stdout);
      }
    });
  });
}

async function main() {
  try {
    const resultat = await execAsync('npm outdated -g --depth=0');
    console.log(resultat);
  } catch (err) {
    console.log(err);
  }
}

main();

更清楚,如所见(讽刺),但嘿,它的工作!

代码语言:javascript
代码运行次数:0
复制
C:\temp>node p2.js
Package             Current   Wanted   Latest  Location                         Depended by
@types/node         16.10.5  16.10.8  16.10.8  node_modules/@types/node         global
ts-node              10.2.1   10.3.0   10.3.0  node_modules/ts-node             global
typescript            4.4.3    4.4.4    4.4.4  node_modules/typescript          global
webpack-dev-server    4.3.0    4.3.1    4.3.1  node_modules/webpack-dev-server  global
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69561697

复制
相关文章
​如何处理Express和Node.js应用程序中的错误
使用Express创建API时,我们定义了路由及其处理程序。在理想情况下,API的使用者只会向我们定义的路由发出请求,并且路由将正常运行。但是,我们不会生活在理想的世界中:)。Express知道这一点,并使我们API中的错误处理变得轻而易举。
前端知否
2020/03/23
5.7K0
如何使用npm创建Node.js项目?
Node.js是一种基于Chrome V8引擎的JavaScript运行时环境,广泛用于构建高性能的服务器端应用程序。通过使用Node.js,我们可以简化后端开发过程,并利用丰富的npm生态系统来管理和共享代码。本文将介绍如何使用npm创建Node.js项目,并讨论项目初始化、依赖管理和脚本配置等方面的内容。
网络技术联盟站
2023/09/04
2.8K0
如何使用npm创建Node.js项目?
Node.js 的错误处理机制
Node.js的API主要有两种风格,同步和异步,如何区分呢,大部分异步API一般都有一个回调函数 callback 作为其参数,而大部分同步API则不会,例如:
conanma
2022/01/05
2.1K0
如何优化Golang中重复的错误处理
Golang 错误处理最让人头疼的问题就是代码里充斥着「if err != nil」,它们破坏了代码的可读性,本文收集了几个例子,让大家明白如何优化此类问题。
LA0WAN9
2021/12/14
2.1K0
node.js中的包管理之npm使用介绍
NPM 是Node.js的包管理工具。它的重要性就像 gem 之于 Ruby 一样。Node.js 与 NPM的关系是密不可分的。
acoolgiser
2019/01/17
1.1K0
​Go的错误处理:如何优雅地处理错误
在Go中,错误通过内置的error类型表示。error是一个接口,它有一个Error()方法返回错误的描述:
运维开发王义杰
2023/08/10
2150
​Go的错误处理:如何优雅地处理错误
如何在 Go 中优雅的处理和返回错误(1)——函数内部的错误处理
在使用 Go 开发的后台服务中,对于错误处理,一直以来都有多种不同的方案,本文探讨并提出一种从服务内到服务外的错误传递、返回和回溯的完整方案,还请读者们一起讨论。
amc
2021/09/18
9.3K0
如何在 Go 中优雅的处理和返回错误(1)——函数内部的错误处理
Redis过期处理
Redis很多时候是被服务器用作缓存,很多缓存都是临时缓存一下,之后可能不会用到。
摸鱼的G
2023/02/22
1.1K0
Node.js 应用的御用品: Node.js 错误处理系统
开发中,有些开发者会积极寻求处理错误,力求减少开发时间,但也有些人完全忽略了错误的存在。正确处理错误不仅意味着能够轻松发现和纠正错误,而且还意味着能够为大型应用程序开发出稳健的代码库。
前端修罗场
2023/10/07
3120
Node.js 应用的御用品: Node.js 错误处理系统
node.js常用npm命令
如:npm install gulp默认安装express的最新版本 如:npm install gulp@1.0.1 可安装指定版本
全栈程序员站长
2022/09/13
1.6K0
npm 创建 node.js 项目
故,使用npm 可以对象项目的操作 在package.json中,script键可以直接项目进行操作
一个会写诗的程序员
2018/10/09
2.4K0
PHP中的错误处理
错误很常见,比如Notice,Warning等等。此时一般使用set_error_handler来处理:
LA0WAN9
2021/12/14
1.8K0
Upspin 中的错误处理
Upspin 项目使用自定义的包 —— upspin.io/errors —— 来表示系统内部出现的错误条件。这些错误满足标准的 Go error 接口,但是使用的是自定义类型 upspin.io/errors.Error,该类型具有一些已经证明对项目有用的属性。 这里,我们会演示这个包是如何工作的,以及如何使用这个包。这个故事为关于 Go 中的错误处理更广泛的讨论提供了经验教训。 动机 在项目进行几个月后,我们清楚地知道,我们需要一致的方法来处理整个代码中的错误构建、描述和处理。我们决定实现一个自定义
企鹅号小编
2018/02/07
2.1K0
Upspin 中的错误处理
Go中没有try/catch,该如何处理错误?
在Go语言中,没有像其他语言那样提供try/catch方法来处理错误。然而,Go中是将错误作为函数返回值来返回给调用者的。下面详细讲解Go语言的错误处理方法。
Go学堂
2023/01/31
5450
webpack、npm 错误汇总
原因: 版本10 fs.promises的API是实验性的,webstorm不允许使用。
城市中的游牧民族
2018/07/18
2.7K1
如何在 CentOS 8 上安装 Node.js 和 npm
Node.js 是一个跨平台的 JavaScript 运行环境,它构建在为了在服务器端运行 JavaScript 代码而设计的 Chrome JavaScript 上。使用 Node.js,你可以构建扩展的网络应用。
雪梦科技
2020/05/11
14.3K0
如何在 CentOS 8 上安装 Node.js 和 npm
npm install 报4048的错误
一开始是以为权限的问题,后管理员的方式打开命令,也看了很多网上的解决方法,像删除node_modules文件,删除npm缓存 npm cache clean --force,重新 npm install下载也都还是不行。最后通过 cnpm 成功安装了依赖
xyzzz
2020/12/01
7K0
kubernetes证书过期处理
Kubernetes是一种流行的容器编排系统,它可以帮助开发人员和系统管理员更轻松地部署和管理容器化应用程序。在Kubernetes集群中,证书是安全通信和身份验证的基础。但是,这些证书也有过期时间。当证书到期时,您需要采取措施来确保您的Kubernetes集群能够继续运行。
堕落飞鸟
2023/03/27
1.8K0
npm是如何执行scripts中命令的?
过去一直有一个疑问,为什么我在命令行运行 npm start,可以正常启动 webpack,而直接使用 craco start 不行?
lonelydawn
2022/09/07
8380
npm是如何执行scripts中命令的?
Node.js 是如何处理请求的
前言:在服务器软件中,如何处理请求是非常核心的问题。不管是底层架构的设计、IO 模型的选择,还是上层的处理都会影响一个服务器的性能,本文介绍 Node.js 在这方面的内容。
theanarkh
2023/10/04
4900
Node.js 是如何处理请求的

相似问题

Node.js错误(NPM错误)

21

Node.js NPM应用程序中的NPM错误

10

MarkLogic Node.js npm模块无法处理>400错误状态

12

node.js错误npm安装

12

npm更新没有遵守npm过期的结果。

112
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文