NodeJS:当我尝试使用 package.json 的脚本执行命令时出错
NodeJS: Error when I try to execute a command with the scripts of the package.json
我在我的 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\_logs21-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 i -D watch
将其作为开发依赖项安装在您的项目中。确保您当前的工作目录在您的项目中。
然后,运行 脚本应该没问题。如果这不起作用,请尝试将 npx
添加到您的脚本中,例如npx watch -p <args>
.
发生该错误是因为您将 watch
安装为全局依赖项。因此,当您在命令行中 运行 它时,它会起作用。
我在我的 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\_logs21-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 i -D watch
将其作为开发依赖项安装在您的项目中。确保您当前的工作目录在您的项目中。
然后,运行 脚本应该没问题。如果这不起作用,请尝试将 npx
添加到您的脚本中,例如npx watch -p <args>
.
发生该错误是因为您将 watch
安装为全局依赖项。因此,当您在命令行中 运行 它时,它会起作用。