语法错误:意外的标识符PriorityNode.prototype.removeChildren

时间:2018-11-06 06:07:27

标签: node.js create-react-app

无法运行create-react-app start

/node_modules/spdy-transport/lib/spdy-transport/priority.js:81
PriorityNode.prototype.removeChildren = function removeChildren () {
^^^^^^^^^^^^

SyntaxError: Unexpected identifier
    at createScript (vm.js:80:10)
    at Object.runInThisContext (vm.js:139:10)
    at Module._compile (module.js:616:28)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
    at Module.require (module.js:596:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/noah/Projects/project-1/node_modules/spdy-transport/lib/spdy-transport.js:18:22)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

1 个答案:

答案 0 :(得分:3)

我打赌您或您团队中的某人遇到了{AsstionError“错误,此错误在此处详细说明:https://github.com/spdy-http2/spdy-transport/issues/47。然后,该人使用此方法或类似的变通办法对其进行修复:https://github.com/spdy-http2/spdy-transport/issues/47#issuecomment-369020176

解决方法涉及通过创建可编辑node_modules/spdy-transport/lib/spdy-transport/priority.js的JS脚本,然后在每次安装后运行该脚本来动态地入侵spdy-transport。典型的方法是将其设置为package.json中的安装后脚本。我的理论是,您团队中的某人已经做到了。检查package.json的"scripts"部分,像这样的行:

"postinstall": "node ./quickfix.js"

为什么现在会崩溃?间谍小组最终合并到一个错误修正程序(https://github.com/spdy-http2/spdy-transport/pull/57)中,该错误修正程序可以解决此问题,并且无需进行黑客攻击。由于解决方法仅是临时的破解方法,因此它不是很可靠。它仍然尝试“修复”更新的文件,现在仅将其中断。

删除安装后脚本,删除并重新安装node_modules/spdy-transport,就可以了。