找不到参数方法compile()[project':react-native-sqlite']

时间:2017-03-04 12:12:10

标签: sqlite ubuntu react-native

react-native-cli:2.0.1 反应原生:0.42.0 npm:3.5.2

我使用本教程在native native上安装sqlite: https://github.com/remobile/react-native-sqlite 当我完成后,我执行了这个命令: react-native run-android 我有这个错误:

Cannot parse yarn version: 0.22
Scanning 547 folders for symlinks in /home/sofiane/projet/sql/node_modules (6ms)
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

FAILURE: Build failed with an exception.

* Where:
Build file '/home/sofiane/projet/sql/android/build.gradle' line: 9

* What went wrong:
A problem occurred evaluating root project 'sql'.
> Could not find method compile() for arguments [project ':react-native-sqlite'] on object of type org.gradle.api.internal.artifacts.dsl.dependencies.DefaultDependencyHandler.

build.gradle:

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
    compile project(':react-native-sqlite')
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
        maven {
            // All of React Native (JS, Obj-C sources, Android binaries) is installed from npm
            url "$rootDir/../node_modules/react-native/android"
        }
    }
}

2 个答案:

答案 0 :(得分:6)

你应该配置/android/app/build.gradle'而不是/android/build.gradle'。

答案 1 :(得分:0)

在我的情况下,gradle文件的结构就是问题,我在allprojects会话中意外地复制了依赖关系

来自:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        jcenter()
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.2'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
        google()
    }
    dependencies { //=> duplicated
        classpath 'com.android.tools.build:gradle:3.5.2'
        classpath "io.realm:realm-gradle-plugin:6.0.1"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


buildscript {
    ext.objectboxVersion = '2.1.0'
    repositories {
        jcenter()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        google()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.5.1'
        classpath "io.realm:realm-gradle-plugin:6.0.1"
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}


task clean(type: Delete) {
    delete rootProject.buildDir
}

希望这对某人有帮助。