首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NPM - ENOENT syscall生成bash (这与npm找不到文件有关)

NPM - ENOENT syscall生成bash (这与npm找不到文件有关)
EN

Stack Overflow用户
提问于 2022-11-30 22:53:52
回答 1查看 19关注 0票数 1

概述

我试图解决为什么不能通过scripts命令运行package.json文件中定义的npm运行的原因。每个脚本命令都返回相同的错误消息:

国家预防机制错误!代码ENOENT 国家预防机制错误!syscall产卵 国家预防机制错误!路径C:\Temp\test4 4 国家预防机制错误!错误号-4058 国家预防机制错误!无菌苗 国家预防机制错误!这与npm无法找到文件有关。 国家预防机制错误!环境

最小复制步骤

我在我的Windows11机器上安装了来自NodeJS 18.12.1 x64 MSI的节点下载页

我创建了一个空目录(在我的示例中称为test4 ),其中包含一个名为package.json的文件,其内容如下:

代码语言:javascript
复制
{
  "scripts": {
    "hello": "echo 'Hello World'"
  }
}

我以管理员身份在与上面列出的package.json文件相同的文件夹中打开了一个package.json窗口。

运行npm run hello将生成上面的错误消息。

冗长/愚蠢的日志记录结果

我使用的一种故障排除技术是使愚蠢的伐木能够记录尽可能多的详细信息。该命令(npm run hello -ddd)的结果如下:

预期行为

我的一位同事也尝试了同样的步骤,他得到了我预期的结果:

我已经尝试过的东西

  • 按照这个StackOverflow的答案完全卸载NodeJs/NPM
  • 安装不同版本的NodeJS/NPM。(我尝试了2/3不同的版本)
  • 在上面简单的npm install文件上运行package.json,并在我的一个项目中的“真实”package.json文件上运行。这两个项目都成功安装。
  • 检查引用AppData文件夹的错误消息中提到的日志文件。(它的内容与我上面提供的详细错误屏幕截图相同)
EN

回答 1

Stack Overflow用户

发布于 2022-12-01 19:06:36

运行npm config list并检查是否设置了script-shell

在我的例子中,它被配置为使用bash,这就是错误发生的原因。要解决这个问题,只需运行npm config delete script-shell来删除配置设置

至于这件事是怎么发生的,我不太清楚。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74635083

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档