【问题标题】:RealmDB - React Native - Unable to open a realm at path '.management'RealmDB - React Native - 无法在路径“.management”打开领域
【发布时间】:2017-05-30 03:38:21
【问题描述】:

在 Genymotion 上运行 Android 的 react-native 项目中,我运行了该应用程序。有一次,我收到了一个问题并从 VM 中卸载了该应用程序。重新运行该应用后,我收到了一条警报:

Unable to open a realm at path '.management'.
Please use a path where your app has read-write permissions. <unknown>
    index.js:100 loadModuleImplementation
    require.js:171 guardedLoadModule
    require.js:123
_require
    require.js:107 <unknown>
    Repeaters.js:6 loadModuleImplementation
    require.js:171 guardedLoadModule
    require.js:123
_require
    require.js:107 <unknown>
    NavigationRouter.js:12 loadModuleImplementation
    require.js:171 guardedLoadModule
    require.js:123
_require
    require.js:107 <unknown>
    RootContainer.js:5 loadModuleImplementation
    require.js:171 guardedLoadModule
    require.js:123
_require
    require.js:107 <unknown>
    index.android.js:8 loadModuleImplementation
    require.js:171 guardedLoadModule
    require.js:116
_require
    require.js:107 global code
    require-0.js:1

我试过关闭 Genymotion,通过 adb shell 卸载,通过 adb shell 手动设置权限。我似乎无法解决问题。

有什么建议吗?

谢谢!

【问题讨论】:

  • 您提供给Realm 构造函数的路径是什么?

标签: android react-native realm genymotion


【解决方案1】:

由于migrations,我遇到了同样的问题。在 ios 中运行良好,但在 android 中却没有。

之前的代码

let nextSchemaIndex = Realm.schemaVersion(Realm.defaultPath);
while (nextSchemaIndex < schemas.length) {
  const migratedRealm = new Realm(schemas[nextSchemaIndex]);
  nextSchemaIndex += 1;
  migratedRealm.close();
}

立即编码

let nextSchemaIndex = Realm.schemaVersion(Realm.defaultPath);
while (nextSchemaIndex < schemas.length) {
  const migratedRealm = new Realm({ ...schemas[nextSchemaIndex] });
  nextSchemaIndex += 1;
  migratedRealm.close();
}

为领域构造函数创建一个新对象解决了这个问题。

希望对你有帮助。

我没有为架构设置路径,但也许this 也有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多