尝试执行 react-native 应用程序时出现“错误无法读取未定义的属性‘拆分’”

Posted

技术标签:

【中文标题】尝试执行 react-native 应用程序时出现“错误无法读取未定义的属性‘拆分’”【英文标题】:"error Cannot read property 'split' of undefined" in trying to execute react-native app 【发布时间】:2021-10-03 10:24:18 【问题描述】:

昨天我可以运行一个 react-native 应用程序而没有任何重大问题,但今天我尝试再次运行它。我运行“npm start”来启动metro,然后我尝试运行“npx react-native run-android”然后它开始返回以下错误:

npm ERR! Cannot read property 'split' of undefined

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/brunno/.npm/_logs/2021-07-27T15_00_53_791Z-debug.log

当我打开日志试图解决它时,它并没有为我清除任何东西。


21 verbose stack TypeError: Cannot read property 'split' of undefined
21 verbose stack     at Object.<anonymous> (/usr/share/nodejs/npm/lib/utils/path.js:4:23)
21 verbose stack     at Module._compile (internal/modules/cjs/loader.js:999:30)
21 verbose stack     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
21 verbose stack     at Module.load (internal/modules/cjs/loader.js:863:32)
21 verbose stack     at Function.Module._load (internal/modules/cjs/loader.js:708:14)
21 verbose stack     at Module.require (internal/modules/cjs/loader.js:887:19)
21 verbose stack     at require (internal/modules/cjs/helpers.js:74:18)
21 verbose stack     at Object.<anonymous> (/usr/share/nodejs/npm/lib/exec.js:64:14)
21 verbose stack     at Module._compile (internal/modules/cjs/loader.js:999:30)
21 verbose stack     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
22 verbose cwd /home/brunno/Documentos/ReactNative/exercicios
23 verbose Linux 5.11.0-25-generic
24 verbose argv "/usr/bin/node" "/usr/share/nodejs/npm/bin/npm-cli.js" "exec" "--" "react-native" "run-android"
25 verbose node v12.21.0
26 verbose npm  v7.5.2
27 error Cannot read property 'split' of undefined
28 verbose exit 1

【问题讨论】:

请提供一些细节。 你能把你使用split的代码贴出来吗?由于某种原因,您使用它的对象是undefined 【参考方案1】:

问题是我没有在任何地方使用拆分是一个全新的代码, 并且当我尝试通过终端启动应用程序时发生错误,当我通过 Android Studio 启动它时一切正常,没有任何问题

【讨论】:

【参考方案2】:

我自己也遇到过这种情况。问题是npm中的这段代码:

const PATH = (
  process.env.PATH || process.env.Path || process.env.path
).split(delimiter)

这意味着如果没有名为PATHPathpath 的环境变量,那么它将尝试拆分未定义的变量。最简单的解决方案可能是确保定义了 PATH 环境变量,即使它只是设置为空字符串。

我遇到这种情况的原因是我在从 python 调用 npx 时(通过subprocess)设置了一些环境变量,而我没有在这组变量中包含PATH

【讨论】:

以上是关于尝试执行 react-native 应用程序时出现“错误无法读取未定义的属性‘拆分’”的主要内容,如果未能解决你的问题,请参考以下文章

React-native:发送日志时出现问题-console.error

使用 react-native run-android 运行时出现 React-Native 错误

在 Exponent react-native 框架中使用 ShoutemUI/TextInput 组件时出现字体加载错误

在 react-native 中获取数据时出现错误

显示键盘时出现 React-native / Splash-Screen

在我的设备中运行 react-native 代码时出现问题