【问题标题】:NodeJS: Error when I try to execute a command with the scripts of the package.jsonNodeJS:当我尝试使用 package.json 的脚本执行命令时出错
【发布时间】:2021-03-09 19:25:55
【问题描述】:

我在 package.json 文件中包含了下一个命令:

"scripts": {
...
"watch:js": "watch -p ./cartridges/app_skberge_peru/cartridge/client/default/js/*.js  -c npm run compile:js",
...
}

当我像这样在命令行中执行命令时:

watch -p './cartridges/app_skberge_peru/cartridge/client/default/js/*.js'  -c 'npm run compile:js'

效果很好,但是当我尝试这样做时:

npm run watch:js

它给了我下一个错误:

> Watching compile:js'
C:\Users\Ángel - Trabajo\Desktop\VISEO\Proyectos\skberge\code\app_skberge_peru\node_modules\watch\main.js:73
    if (err) throw err;
             ^

Error: ENOENT: no such file or directory, stat 'C:\Users\Ángel - Trabajo\Desktop\VISEO\Proyectos\skberge\code\app_skberge_peru\compile:js''
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! app_skberge_peru@0.0.1 watch:js: `watch -p './cartridges/app_skberge_peru/cartridge/client/default/js/*.js'  -c 'npm run compile:js'`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the app_skberge_peru@0.0.1 watch:js script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Ángel - Trabajo\AppData\Roaming\npm-cache\_logs\2021-03-08T17_25_59_377Z-debug.log

我确定这一定与引号内的格式有关,但我就是无法得到我想要的。

谢谢!

已编辑:

我试图执行:

"watch:js": "watch -p \"./cartridges/app_skberge_peru/cartridge/client/default/js/*.js\"  -c \"npm run compile:js\""

但我收到下一个输出:

> app_skberge_peru@0.0.1 watch:js C:\Users\aquesada\Desktop\Proyectos\skberge\app_skberge_peru
> watch -p "./cartridges/app_skberge_peru/cartridge/client/default/js/*.js"  -c "npm run compile:js"

Usage: watch <command> [...directory] [--wait=<seconds>] [--filter=<file>] [--interval=<seconds>] [--ignoreDotFiles] [--ignoreUnreadable]

这很奇怪,因为如果我执行您在命令行输出中看到的内容,它会完美运行

> watch -p "./cartridges/app_skberge_peru/cartridge/client/default/js/*.js"  -c "npm run compile:js"
Watching started

【问题讨论】:

  • 我做到了!太奇怪了,我用结果编辑了问题。
  • watch 是 NPM 包吗?还是系统原生包?

标签: node.js npm package.json


【解决方案1】:

您是否可能在全球范围内安装了watch

如果是,您应该通过npm i -D watch 将其作为开发依赖项安装在您的项目中。确保您当前的工作目录在您的项目中。

然后,运行脚本,应该没问题。如果这不起作用,请尝试将npx 添加到您的脚本中,例如npx watch -p &lt;args&gt;.

发生该错误是因为您将watch 安装为全局依赖项。因此,当您在命令行中运行它时,它可以工作。

【讨论】:

    猜你喜欢
    • 2019-12-30
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 2020-07-25
    • 2017-01-13
    • 2019-05-03
    • 1970-01-01
    • 2020-06-26
    相关资源
    最近更新 更多