【问题标题】:Node error _xdl(...).ProjectUtils.readConfigJsonAsync is not a function节点错误 _xdl(...).ProjectUtils.readConfigJsonAsync 不是函数
【发布时间】:2019-11-22 06:35:06
【问题描述】:

将 expo-CLI 版本 3.5.0 安装到我的计算机以便我能够使用它然后运行 ​​npm start Node 后会抛出此错误:" _xdl(...).ProjectUtils.readConfigJsonAsync 不是函数。 “我在网上找不到解决方案,这似乎是一个新问题。是否有其他人遇到此问题或有成功运行该程序的解决方案?

【问题讨论】:

  • expo-cli@3.5.0 现在应该可以工作了,一个依赖于次要版本更新的重大更改的包存在问题。出于好奇,您为什么使用expo-cli@3.5.0 而不是最新版本?

标签: node.js reactjs windows react-native expo


【解决方案1】:

我也遇到了同样的问题。您不需要降级节点,只需要更改项目的一些哈希值。 (为我在节点版本 13.2.0 和 expo-cli 版本 3.9.0 上工作,虽然我注意到它也适用于 LTS 节点 12.13.1)

您可以更改位于以下位置的文件:

\node_modules\metro-config\src\defaults\blacklist.js

发件人:

var sharedBlacklist = [
  /node_modules[/\\]react[/\\]dist[/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

收件人:

 var sharedBlacklist = [
  /node_modules[\/\\]react[\/\\]dist[\/\\].*/,
  /website\/node_modules\/.*/,
  /heapCapture\/bundle\.js/,
  /.*\/__tests__\/.*/
];

【讨论】:

    【解决方案2】:

    我也需要一个解决方案。我一直在使用 3.5.0 版本,但今天我尝试错误地更新它,但我找不到让它正常运行的方法。我开始认为问题出在服务器端,或者更新的内容与旧的 3.5.0 版本不兼容。 _xdl(...).ProjectUtils.readConfigJsonAsync 不是函数 Screenshot of the error im getting

    编辑:我刚刚找到了解决方案。新版本的 xdl 会导致错误。 修复:

    打开命令提示符(如果你在windows机器上),不管你在哪个目录,在下面输入命令

    npm uni -g --no-save @expo/xdl
    npm i -g --no-save @expo/xdl@56.8.0
    

    如果不指定要安装的版本,npm 或 yarn 会立即选择 56.8.1 版本并自动安装并导致错误。

    您需要通过键入我上面给出的命令来降级到 56.8.0 版本。

    【讨论】:

    • 你在使用 expo-cli@3.5.0 吗?
    • 是的,expo-cli 3.5.0 和节点 12.10.0。
    • 在您的项目文件夹中将 node_modules 文件夹重命名为其他任何内容,在项目文件夹中打开终端并运行> npm install
    • 我尝试了您的建议(重命名 node_modules 并运行 npm install)。还是不行。
    • 值得一试。我可以推荐你的最后一件事是通过“expo init projectName”创建另一个项目并删除除node_modules之外的所有内容并从原始项目文件夹中复制。这些是过去对我有用的东西
    猜你喜欢
    • 2022-01-07
    • 2017-03-04
    • 2020-11-20
    • 2016-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-24
    • 2023-03-28
    相关资源
    最近更新 更多