ইতিমধ্যে বিদ্যমান যে নামটি টাস্ক হিসাবে 'র‍্যাপার' যুক্ত করতে পারে না


112

'রিএ্যাক্ট-নেটিভ ডিআইএম অসাধারণ প্রজেক্ট' ইনস্টল করার সময় আমি চালানোর সময় এই ত্রুটিটি পাই react-native run-android:

Could not determine java version from '11.0.1'.

একটি দ্রুত গুগল পরামর্শ দেয় distributionUrlযে গ্রেডল-র‍্যাপারে আমার আপডেট করতে হবে । এটি করার পরে আমি একটি নতুন ত্রুটির মুখোমুখি হয়েছি:

Cannot add task 'wrapper' as a task with that name already exists.

এটি প্রস্তাব দেয় যে সমস্যাটি ফাইলটিতে রয়েছে:

/AwesomeProject/android/build.gradle' line: 36

যা দেখে মনে হচ্ছে

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

আমি এটি পিছনে পিছনে চেষ্টা করার চেষ্টা করেছি যা এটি করে। এটি অদ্ভুত বলে মনে হচ্ছে কিছু সরাসরি বাক্সের বাইরে চলে না। কেউ কি একই ধরনের সমস্যার মুখোমুখি?


4
কোন আপডেট আছে বা যা সঠিক কাজ উত্তর? তা না হলে কীভাবে সমাধান করলেন? একটি উত্তর উপর অন্য টিক-ডান আইকন >> :-)।
ganeshdeshmukh

উত্তর:


160

আপনি আপডেট করতে পারেন

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'    
    distributionUrl = distributionUrl.replace("bin", "all")
}

প্রতি

wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

যেমন

ওভাররাইডিং বিল্ট-ইন টাস্কগুলিকে 4.8-এ অবনমিত করা এখন একটি ত্রুটি তৈরি করে।

অন্তর্নির্মিত টাস্কটি প্রতিস্থাপনের চেষ্টা করা নিম্নলিখিতগুলির অনুরূপ একটি ত্রুটি তৈরি করবে:

ইতিমধ্যে বিদ্যমান যে নামটি টাস্ক হিসাবে 'র‍্যাপার' যুক্ত করতে পারে না।

কার্য এবং বৈশিষ্ট্যের শেষ অনুচ্ছেদটি দেখুন : https://docs.gradle.org/5.2.1/userguide/upgrading_version_4.html

এবং মোড়ক টাস্কটি অনুকূলিতকরণ : https://docs.gradle.org/5.2.1/userguide/gradle_wrapper.html# কাস্টমাইজিং_উপর


9
এই উত্তরটি ওপির আসল প্রশ্নের উত্তর দেয় না, তবে এটি আমার মতো গুগলারের পক্ষে খুব সহায়ক, তাই আমি উজ্জীবিত হয়েছি।
ফ্রাঙ্কলিন ইউ

এটি ওপির সমস্যা সমাধান করে। তিনি একটি প্রাচীন গ্র্যাডল সংস্করণ ব্যবহার করছিলেন এবং তারপরে একটি পুরানো সমাধান ব্যবহার করে আপডেটে আবদ্ধ হন এবং এই উত্তরটি সঠিক সমাধান সরবরাহ করে। (অবশ্যই, @ ফ্র্যাঙ্কলিনইউ, আপনি যদি ওপির প্রশ্ন হিসাবে "কেউ কি একই ধরণের সমস্যার মুখোমুখি হন?" নেন তবে সাধারণ "হ্যাঁ" যথেষ্ট হবে।)
মাইকেল পিফেল

91

আপনি আপনার পরিবেশে গ্রেডের কোন সংস্করণ ব্যবহার করেন?

যদি আপনি গ্রেড সংস্করণ 5.x ব্যবহার করেন তবে আপনাকে নীচের মত 「টাস্ক র্যাপার mod সংশোধন করতে হবে।

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

wrapper {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

তারপরে এই ত্রুটিটি এসেছিল। কী করতে হবে তা বের করতে পারছি না। ত্রুটি: আর্গুমেন্টের জন্য পদ্ধতি মোড়ক () খুঁজে পাওয়া যায়নি [{প্রকার = শ্রেণি org.gradle.api.tasks.wrapper.Wrapper}, build_81gq92nveejavsi3t9efznmk8 $ _run_closure2 @ 55f5bac8] টাইপ প্রকল্পের 'মাইপ্রজেক্ট' তে ।
বুধ্বিভ

21

মন্তব্যগুলিতে অনুসরণ করা হিসাবে অনুসরণ করা হয়েছে - https://stackoverflow.com/a/46867575/4982729 :

  1. ফাইলটি খুলুন এবং সম্পাদনা করুন app-folder/android/gradle/wrapper/gradle-wrapper.properties; লাইন আপডেট করুন

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.0-all.zip
  2. ফাইলটিতে AwesomeProject/android/build.gradleমন্তব্য করার চেষ্টা করুন

    task wrapper(type: Wrapper) {
        gradleVersion = '4.4'
        distributionUrl = distributionUrl.replace("bin", "all")
    }
    

12

যদি "গ্রেডল- ওয়েপার.প্রোপার্টি" ফাইলের এই কোডগুলি ইতিমধ্যে থাকে

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

তাহলে আপনি অপসারণ করতে পারেন

task wrapper(type: Wrapper) {
    gradleVersion = '4.4'
    distributionUrl = distributionUrl.replace("bin", "all")
}

build.gradle থেকে


1

আমি একই সমস্যা আছে। আমার কোডে সমস্যাটি ছিল বিল্ড.gradle এর আরেকটি গ্রেডল ফাইলের দ্বৈত ঘোষণা

build.gradle

apply from: otherFile.gradle
... build. gradle code...
apply from: otherFile.gradle //Again 

0

আপনার বিল্ড.gradle ফাইলটিতে চালনার জন্য আপনার "টাস্ক" থাকার উচ্চ সম্ভাবনা রয়েছে, যান এবং মোড়কের সাথে সম্পর্কিত লাইনটি সরিয়ে ফেলুন (এর ব্র্যাকেট সহ আরও)। তারপরে, আপনি যদি ইন্টেলিজ ব্যবহার করছেন, এটি স্বয়ংক্রিয়ভাবে নতুনটিকে আপনার কার্যনির্বাহী ডিরেক্টরিতে নিয়ে আসবে।


0

আমি ইস্যুটিতে দৌড়েছি কারণ আমি বিশ্বব্যাপী গ্রেডেলটি ব্যবহার করে আমার কাজ চালাচ্ছিলাম, আমার স্থানীয় গ্রেডের মোড়কটি নয় ।

অর্থাৎ আমার বর্তমান ডিরেক্টরিতে আমার gradlewএক্সিকিউটেবল ছিল ।

তবে আমি এই আদেশটি চালাচ্ছিলাম:

gradle <task>

যখন আমার দৌড় করা উচিত ছিল:

./gradlew <task>

সম্ভবতঃ কারণ বিশ্বব্যাপী গ্রেডল চালানো একটি স্থানীয় মোড়ক তৈরি করার চেষ্টা করে - এবং এর একটি ইতিমধ্যে বিদ্যমান।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.