反应原生链接在领域失败

时间:2017-09-24 12:26:36

标签: react-native realm

我有react-native / react-native-cli的下一个版本:

react-native-cli: 2.0.1  
react-native: 0.47.2

安装领域后
npm install --save realm

我收到错误

enter image description here

下一部分已经解决,以防万一它将有助于解决整个问题<解决了部分开始

如果我跑

react-native link

react-native link realm  

我收到了一个错误:

pathToProjectHere/node_modules/metro-bundler/src/lib/Terminal.js:141
    this._nextStatusStr = util.format(format, ...args);
                                              ^^^

SyntaxError: Unexpected token ...
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Module._extensions..js (module.js:416:10)
    at Object.require.extensions.(anonymous function) [as .js] (pathToProjectHerenode_modules/babel-register/lib/node.js:152:7)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (pathToProjectHere/node_modules/react-native/local-cli/server/runServer.js:18:18)
    at Module._compile (module.js:409:26)

解决了部分结束&gt;

即使成功完成链接命令,我仍然会收到有关域构造函数的错误 出了什么问题,是否有解决方法?

我无法使用领域启动新项目 - 同样的错误。

Link to issue on GitHub

2 个答案:

答案 0 :(得分:1)

我认为领域已经承认了这个问题,并为其提供了手动替代方案。

请查看他们针对此问题向您提供的页面:https://realm.io/docs/javascript/latest/index.html#missing-realm-constructor并按照其步骤操作。

但我建议先看看their installation guide,他们逐步将这个问题作为替代方案逐步解决:

react-native link或(类似)react-native install realm失败。

我正在编写这些步骤,但强烈建议您阅读安装指南,以便保持更新。

  1. 将以下行添加到android/settings.gradle
  2. include ':realm'
    project(':realm').projectDir = new File(rootProject.projectDir,'../node_modules/realm/android')
    
    1. 将编译行添加到android/app/build.gradle
    2. 中的依赖项
      dependencies {
          compile project(':realm')
      }
      
      1. 添加导入并在MainApplication.java
      2. 中关联包
        import io.realm.react.RealmReactPackage; //   <<====   add this import
        
        public class MainApplication extends Application implements ReactApplication {
            @Override
            protected List<ReactPackage> getPackages() {
                return Arrays.<ReactPackage>asList(
                    new MainReactPackage(),
                    new RealmReactPackage() //   <<====    add this line
                );
            }
        }
        

        我也看到你made this issue已经likely issues

        此外,我无法更好地缩进代码,欢迎编辑

答案 1 :(得分:0)

我终于找到了一个问题,我的问题是缺乏对RN和Expo的理解。由于我的项目是使用 create-react-native-app 创建的,因此我的项目最初附加到了世博会。要使用Realm,我必须detach