开发者问题收集

const [名称,版本] = nameMap.get(release);

2023-01-14
1899

const [名称,版本] = nameMap.get(release); ^

TypeError: undefined 不可迭代(无法读取属性 Symbol(Symbol.iterator)) 在 macosRelease (/Users/saileshkumar/MyProjects/SyncDriver/SyncDriver/node_modules/os-name/node_modules/macos-release/index.js:27:26) 在 osName (/Users/saileshkumar/MyProjects/SyncDriver/SyncDriver/node_modules/os-name/index.js:21:18) 在 new Insight (/Users/saileshkumar/MyProjects/SyncDriver/SyncDriver/node_modules/insight/lib/index.js:37:13) 在 new RelentlessInsight (/Users/saileshkumar/MyProjects/SyncDriver/SyncDriver/node_modules/cordova/src/telemetry.js:31:1) 在 Object. (/Users/saileshkumar/MyProjects/SyncDriver/SyncDriver/node_modules/cordova/src/telemetry.js:39:15) 在 Module._compile (node:internal/modules/cjs/loader:1103:14) 在 Object.Module._extensions..js (node:internal/modules/cjs/loader:1157:10) 在 Module.load (node:internal/modules/cjs/loader:981:32) 在 Function.Module._load (node:internal/modules/cjs/loader:822:12) 在 Module.require (node:internal/modules/cjs/loader:1005:19)

在 MAC OS 版本 13 中构建时解决上述问题的解决方案

3个回答

我认为这是因为您使用的 mac 版本尚未添加到您使用的 node_module 中。您可以转到文件并检查您使用的版本是否已添加吗?文件应如下所示: https://github.com/sindresorhus/macos-release/blob/main/index.js

如果不是,我认为您应该能够更新插件,这样应该可以解决问题。

否则,更多信息会很有用。在 macOS12 上一切是否都运行良好,但在您更新 mac 时出现故障?这是我现在的假设。

另请参阅: Ionic 在 macos 12 (Monterey) 中构建失败

Mister_CK
2023-01-14

请确保你使用了 node 14 和最新的 cordova,问题将会消失

Achim Baggins
2023-05-09

如果您在将 Mac OS 从以前的版本更新为 Ventura 后,在 Mac 上运行 sudo ionic cordova build android 。请按照以下步骤构建您的应用程序。

  1. 打开 index.js 路径将是 /usr/local/lib/node_modules/cordova/node_modules/macos-release。
  2. 将行 const [name, version] = nameMap.get(release); 替换为 const [name,version]=('Macos','1.0.0'); 就这样,它将起作用。 如果您按照上述步骤操作,则无需升级 cordova 和任何其他环境。
Nitin Tyagi
2023-09-24