【问题标题】:create-react-app run as sudo and unexpected token '{'create-react-app 以 sudo 和意外令牌 '{' 运行
【发布时间】:2021-08-11 20:50:21
【问题描述】:

我使用 create-react-app 创建了一个 React 应用程序并尝试在端口 80 下运行它,但它需要管理员权限,所以我最终运行了:

sudo 纱线开始

抛出了一个错误:

me@mypc:<projectDirectory>$ sudo yarn start
yarn run v1.19.1
warning ../../../package.json: No license field
$ PORT=80 react-scripts start
<projectDirectory>/node_modules/terser-webpack-plugin/node_modules/p-limit/index.js:28
        } catch {}
                ^

SyntaxError: Unexpected token {
    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> (<projectDirectory>/node_modules/terser-webpack-plugin/dist/index.js:24:38)
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

它抱怨的函数如下所示:

    const run = async (fn, resolve, ...args) => {
            activeCount++;

            const result = (async () => fn(...args))();

            resolve(result);
            try {
                    await result;
            } catch {}

            next();
    };

Afaik 可以在没有异常参数的情况下使用 try ... catch 块,我什至自己测试过以确保。

我的节点版本是 v14.17.0。该模块是否会使用一些不支持该语法的古老模块?任何想法如何解决此问题或以其他方式在端口 80 上运行使用 create-react-app 创建的 react 应用程序?

【问题讨论】:

  • Empty catch 是最近才引入的。
  • 我刚刚更新到 v16.2.0 并没有改变任何东西。
  • 从 v10 node.green/#ES2019-misc-optional-catch-binding 开始,Node 支持可选的 catch 绑定,所以这在 14 或 16 中应该不是问题。您确定 Yarn 是针对这些版本安装的吗?试试yarn node --version
  • 是的,它是一样的。尝试通过 sudo 运行新的 create-react-app 项目时出现同样的错误。

标签: node.js webpack create-react-app yarnpkg sudo


【解决方案1】:

我遇到了同样的问题,通过将节点版本升级到 10.16.0 得到了解决。早些时候它是 8.10.0。我建议你升级节点,npm 版本

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-24
    • 2018-08-04
    • 2018-08-31
    • 2023-01-26
    • 1970-01-01
    • 1970-01-01
    • 2018-10-09
    • 2017-05-24
    相关资源
    最近更新 更多