gpt4 book ai didi

windows - git-bash: SyntaxError: missing ) 在参数列表之后

转载 作者:可可西里 更新时间:2023-11-01 10:31:49 25 4
gpt4 key购买 nike

我正在尝试使用以下方法在 nuxt 项目上使用 vscode 设置调试:

https://medium.com/@justin.ramel/nuxt-js-debugging-in-visual-studio-code-822ff9d51c77

我已经做到了:

$ npm run dev-debug

> nuxt4@1.0.0 dev-debug E:\ENVS\js\nuxt4
> node --inspect node_modules/.bin/nuxt

Debugger listening on ws://127.0.0.1:9229/6f869cb6-7166-4182-b841-a528917d88fd
For help, see: https://nodejs.org/en/docs/inspector
E:\ENVS\js\nuxt4\node_modules\.bin\nuxt:2
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
^^^^^^^

SyntaxError: missing ) after argument list
at new Script (vm.js:83:7)
at createScript (vm.js:267:10)
at Object.runInThisContext (vm.js:319:10)
at Module._compile (internal/modules/cjs/loader.js:684:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)
at executeUserCode (internal/bootstrap/node.js:342:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! nuxt4@1.0.0 dev-debug: `node --inspect node_modules/.bin/nuxt`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nuxt4@1.0.0 dev-debug script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

整个nuxt文件是:

#!/bin/sh
basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")

case `uname` in
*CYGWIN*) basedir=`cygpath -w "$basedir"`;;
esac

if [ -x "$basedir/node" ]; then
"$basedir/node" "$basedir/../nuxt/bin/nuxt.js" "$@"
ret=$?
else
node "$basedir/../nuxt/bin/nuxt.js" "$@"
ret=$?
fi
exit $ret

编辑:

我尝试进行更改并得到:

> node --inspect node_modules/.bin/nuxt

Debugger listening on ws://127.0.0.1:9229/458bafd6-1d8c-4a2b-8ec2-5ddc8b4f0fda
For help, see: https://nodejs.org/en/docs/inspector
E:\ENVS\js\nuxt4\node_modules\.bin\nuxt:1
(function (exports, require, module, __filename, __dirname) { #!/bin/sh
^

SyntaxError: Invalid or unexpected token
at new Script (vm.js:83:7)
at createScript (vm.js:267:10)
at Object.runInThisContext (vm.js:319:10)
at Module._compile (internal/modules/cjs/loader.js:684:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
at Module.load (internal/modules/cjs/loader.js:620:32)
at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
at Function.Module._load (internal/modules/cjs/loader.js:552:3)
at Function.Module.runMain (internal/modules/cjs/loader.js:774:12)
at executeUserCode (internal/bootstrap/node.js:342:17)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! nuxt4@1.0.0 dev-debug: `node --inspect node_modules/.bin/nuxt`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the nuxt4@1.0.0 dev-debug script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

我如何让它工作?

最佳答案

我有一个部分解释和一个应该对某些人有用的修复。

原因

问题的根本原因是 node 将 Bash 或 Windows shell 脚本作为参数。如果你查看 .bin 中的文件,例如 node_modules\.bin\nuxt,你会发现这些实际上是 shell 脚本,应该返回真实路径应该作为参数传递给 node 的 JavaScript 文件。

我什至不知道这在 Linux 下应该如何工作,但我在使用 git-bash 时遇到过这个问题,而在 Linux VM 上使用相同的代码库工作得很好,所以它绝对是特定于环境的。如果有人对此有答案,我很乐意将其添加到问题中。

解决方案

不要将.bin中的文件传给node。而是找到真实文件的路径并将其传递。在这种情况下,它是 node_modules/nuxt/bin/nuxt.js 并且许多库都遵循相同的原则,但有时可能会有点棘手,例如 Angular在我系统上的 node_modules/@angular/cli/bin/ng 中。

忠告

此解决方案绕过了 JavaScript 文件的定位方式,并且可能会在库更新后停止工作。或者它可能不适用于所有系统。我不是 node 开发人员,只是在尝试运行其他人的代码时才发现它。对于我的用例来说,这是一个足够好的解决方案,但可能不适合您。

关于windows - git-bash: SyntaxError: missing ) 在参数列表之后,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54028280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com