خطاهای ممکن در ریاکتنیتیو
در این بخش خطاهایی که ممکناست در مراحل مختلف راهاندازی پوشه در ReactNative با آنها مواجه شوید به همراه راهحل ذکر شدهاند.
در صورتی که مورد شما خطا (Error) نیست، ممکن است در بخش سوالات ذکر شده باشد.
خطای مورد نظر شما در لیست نیست؟ در گیتهاب به دنبال آن بروید و در صورت نیافتن در آنجا مورد جدیدی مطرح کنید.
خطاهای حین نصب و راهاندازی
برنامه در حالت اجرای دستور starting Js server
باقی میماند
در صورتی که از yarn
برای اجرای برنامه استفاده میکنید، در یک کامندلاین جدا دستور yarn start
را وارد کنید تا سرور به درستی شروع به کار کند و سپس yarn android
را بزنید.
Failed to resolve Core
پوشه از طریق Jcenter
به پروژهی اندروید اضافهمیشود (همینطور لایبرریهایی دیگری که پوشه از آنها استفادهمیکند). با توجه به اینکه این سرویس در کشور ما مورد تحریم است، بایستی با استفاده از ابزار گذراز تحریم این مورد را رفعکنید. به طور کلی دلایل میتواند این موارد باشد:
- نبود اینترنت
- عدماستفاده از ابزار گذر از تحریم: باید از ابزاری مثل شکن و یا ... استفادهکنید.
- درصورتی که از اندروید استودیو یا اینتلیجی استفاده میکنید، استفاده از گریدل در حالت Offline mode را غیرفعال کنید. برای دانلود از سرور باید گریدل در حالت
offline mode
نباشد.
در صورتی که تمام موارد مورد قبل درست هستند اما باز هم مشکلی وجود دارد، ممکن است کش گریدل به موردی برخورده باشد و مشکلی داشتهباشد. برای حل این مورد کش گریدل را میتوانید دوباره بارگیری کنید:
- Android studio را ببندید
- از آدرس زیر فولدر
caches
را حذف کنید:- ویندوز:
C:\Users\YOUR_USER\.gradle\caches
- لینوکس:
/home/user/you/.gradle/caches
- ویندوز:
- برنامه را اجرا کرده و مجددا پروژه را
Sync
کنید.
Version conflict (خطای نسخههای مختلف یک لایبرری)
در صورتی که یکی از کتابخانههایی که شما یا یکی دیگر از کتابخانهها اضافهکرده، با کتابخانههای مورد نیاز پوشه یکی باشد و نسخههای متفاوتی داشتهباشند، ممکن است گریدل نتواند این مورد را مدیریت کنید و پروسه به خطا منجر شود.
کتابخانهای که این مورد را دارد (یکسان با نسخههای متفاوت اضافهشده است)، را خودتان دستی به
dependencies
اضافهکنید و نسخهی مورد نظر خود را (معمولا نسخهی نهایی) قرار دهید.با استفاده از کد زیر گریدل را مجبور به استفاده از یک نسخهی خاصی از آن کتابخانه کنید (کد را بالای بلوک
dependencies
در فایلbuild.gradle
ماژول اپ قرار دهید.)
// File: build.gradle (app:module)
configurations.all {
resolutionStrategy {
eachDependency { DependencyResolveDetails details ->
def libraryGroup = "{artifact}"
def forceVersion = "{version}"
if (details.requested.group == libraryGroup) {
details.useVersion forceVersion
}
}
}
}
// dependencies {
// ...
بجای {artifact}
پکیج کتابخانه و بجای {version}
نسخهای که مد نظر است را قرار دهید.