在bat文件中查询npm错误状态

2024-01-26

我们目前正在将 UI 项目(总共 3 个)的构建转移到 Grunt。为了简化转换,我想提供一个可以运行的bat文件npm install对于每个项目,但是我想知道发出此命令时是否出现问题。我所追求的只是糖衣,我知道 npm 会回显错误,但我想为我的团队中不熟悉的成员提供一些更简单的消息npm and node.

有没有办法检查 npm 是否遇到错误并随后停止 bat 文件?例如,如果未安装节点,我只需检查%ERRORLEVEL%为 1。如果是这种情况,我会回显一些指令并退出执行。我遇到的问题是%ERRORLEVEL%当发生错误时不设置为 1npm install.

任何帮助表示赞赏!


试试这个方法。

在运行 npm 的批处理文件(我们称之为 test.bat)中,我有以下内容:

@ECHO OFF
call npm install jquery 2<&1 || exit /b 1
ECHO Continuing...

现在,当我运行 test.bat 时,我看到以下内容:

[email protected] /cdn-cgi/l/email-protection node_modules\jquery
Continuing...

但是,如果我将“jquery”更改为包的名称doesn't存在(即模拟 npm 故障,正如你所说,不会影响 %ERRORLEVEL%)我看到这个:

npm ERR! Windows_NT 6.2.9200
npm ERR! argv "C:\\Program Files (x86)\\nodejs\\\\node.exe" "C:\\Program Files (x86)\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "asdasdas"
npm ERR! node v0.10.33
npm ERR! npm  v2.3.0
npm ERR! code ETARGET

npm ERR! notarget No compatible version found: undefined@'*'
npm ERR! notarget No valid targets found.
npm ERR! notarget Perhaps not compatible with your version of node?
npm ERR! notarget This is most likely not a problem with npm itself.
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Projects\XXXX\npm-debug.log

请注意,“ECHO Continuing”行不会被执行。

The "2<&1“部分似乎采用 STDERR 输出并将其重定向到 STDOUT:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/redirection.mspx?mfr=true

“...句柄2(即STDERR),从ipconfig命令到句柄1 (即标准输出)...”

我从这个解决方案中获取了https://stackoverflow.com/a/10359327/68432 https://stackoverflow.com/a/10359327/68432

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在bat文件中查询npm错误状态 的相关文章

随机推荐

  • 如何将 Bootstrap div 与“spanX”类居中?

    我使用 bootstrap 并尝试将 div span7 居中 如下所示 div class row fluid div class span7 Lorem ipsum dolor sit amet div div 我的CSS代码是 mai
  • 从父视图控制 NSTabViewController

    我正在使用故事板和 swift 我目前有一个 NSWindowController 其中有一个 NSTabViewController 作为 contentViewController 我现在尝试通过代码从 NSWindowControll
  • 在 Apigee 中,如何使用 AccessEntity 政策以及稍后在 Javascript 中为开发人员获取自定义属性值?

    有一个分配给开发人员的自定义属性 称为 XYZ 在API代理中 AccessEntity策略 以及教程中给出的AssignMessage和ExtractVariable策略 如何 http apigee com docs api servi
  • IntelliJ IDEA 无法解决良好的工作 gradle 依赖关系

    我目前正在使用 Gradle 开发一个 Kotlin 项目 源代码在这里 https github com axelrindle Broadcaster Plugin 这是一个 Bukkit 插件 依赖于我维护的库 库源代码在这里 http
  • AngularJS $scope 表单属性在 ng-submit 后未定义

    我从 Angular 开始 但我仍然对语法和许多不同的编码方式感到非常困惑以获得相同的结果 我最新的问题是 当我提交表单时 我无法通过执行以下操作来获取其值 scope attribute name HTML div src div div
  • Rails 4:带有关联的 form_for

    Rails 和 ruby 新手 挣扎着form for和协会 我正在尝试设置一个 Rails 应用程序 允许用户从客户端列表中进行选择 客户通过以下方式关联has many through关系 我让模型按预期工作 并且我可以通过 Rails
  • 使用 androids 可视化器类获取可变频率范围

    我想获取智能手机播放的声音的某些频率范围的值 以便我可以通过蓝牙将它们转发到可视化这些范围的设备 这些范围是 0 63Hz63 160赫兹160 400赫兹400 1000赫兹1000 2 500Hz2 500 6 250Hz6 250 1
  • MySQL“错误 1046 (3D000):更新查询时未选择数据库”

    我有一个 UPDATE 查询 其中明确引用了数据库 但 MySQL 仍然抱怨以下消息 ERROR 1046 3D000 No database selected 其他结构相似但使用 INSERT 的查询可以正常工作 其他仅执行 SELECT
  • Endpoint包含授权元数据,但未找到支持授权的中间件

    我目前正在将本地开发的应用程序迁移到数字海洋中的 Ubuntu 16 04 Droplet 我正在使用 NET Core 3 1 并已为其配置了我的服务器 但是 当我导航到控制器上使用 Authorize 属性 我仅在我的生产服务器上 而不
  • LINQ to XML 和 DataGridView

    您好 我第一次尝试使用 DataGridView 和 LINQ 这就是我正在尝试做的事情 我想使用它 尽管它不必使用 DataGridView 来读取和显示 XML 文件的内容 这部分是下面的工作代码 但我想在表单或 DataGridVie
  • 两个ArrayList 一个RecyclerView Adapter

    我有一个聊天屏幕 我可以在其中与其他用户聊天 我正在将聊天数据 通过列表的消息 时间和发件人 发送到 RecyclerAdapter 后者用数据填充聊天视图 现在我还有一个列表 其中包含不同布局的数据 像这样 这是我将第二个数组列表调用到
  • 使用 url 重定向下载文件

    我可以通过 url 下载文件 但是当我从 bash 尝试时 我得到的是 html 页面而不是文件 如何使用curl wget 或其他方式下载带有url 重定向 301 永久移动 的文件 UPD 来自 url 请求的标头 curl I htt
  • 使用命令提示符修改 cmd.exe 属性

    这不是很好的递归吗 我的外部驱动器上有一个便携式命令提示符 它有一个很好的 bat 文件来配置一些初始设置 但我想要更多 这是我知道如何从 bat 设置的内容 颜色 颜色 XY 其中 x 和 y 是预定义颜色的十六进制数字 Prompt p
  • ini_set("upload_max_filesize","200M") 在 php 中不起作用[重复]

    这个问题在这里已经有答案了 可能的重复 覆盖 upload max filesize https stackoverflow com questions 949415 overriding upload max filesize 我使用这些
  • 我需要一个循环遍历日期间隔

    我有开始日期和结束日期 我需要遍历这两个日期之间的每一天 最好的方法是什么 我只能建议这样的事情 Date currentDate new Date startDate getTime while true if currentDate g
  • xcode 无法识别类的更改

    由于某种原因 xcode 无法识别我对程序 这是一个 C 命令行程序 中的某个类所做的任何更改 例如 如果我为此类创建一个新方法并尝试在另一个文件中使用它 该文件已经包含该类的 h 文件 并且我已经在该文件中广泛使用了该类 它会给我一个错误
  • cassandra CQL 中的内连接

    如何在 cassandra 中编写子查询 嵌套查询 CQL 中是否提供了此功能 我尝试过的例子 cqlsh testdb gt select itemname from item where itemid select itemid fro
  • Docker compose找不到本地包

    因此 我在 GOlang 中创建了 REST api 和一个 grpc 服务 现在我想在 docker compose 中组合它 我的 docker compose 看起来像这样 version 3 services db image po
  • 在同一台计算机上运行 Internet Explorer 6、Internet Explorer 7 和 Internet Explorer 8

    和其他人一样 我需要在 Internet Explorer 6 和 Internet Explorer 7 上测试我的代码 现在 Internet Explorer 8 为开发人员提供了一些很棒的工具 我想使用它们 我还想开始使用 Inte
  • 在bat文件中查询npm错误状态

    我们目前正在将 UI 项目 总共 3 个 的构建转移到 Grunt 为了简化转换 我想提供一个可以运行的bat文件npm install对于每个项目 但是我想知道发出此命令时是否出现问题 我所追求的只是糖衣 我知道 npm 会回显错误 但我