আঙ্গুলের 9 সহ আয়নিক 5 - কৌণিক জেআইটি সংকলন ব্যর্থ হয়েছে: '@ কৌনিক / সংকলক' লোড হয়নি


23

আয়নিক 5 কয়েক ঘন্টা আগে ঘোষণা করা হয়েছিল (12 ফেব্রুয়ারী 2020) এবং আমি আমার ছোট প্রযোজনার অ্যাপ্লিকেশনটি অ্যাঙ্গুলার 9 এর সাথে অয়ন 5-তে আপগ্রেড করেছি:

# To update to Ionic 5
npm install @ionic/angular@latest @ionic/angular-toolkit@latest --save-exact --save

# To update to Angular 9
ng update @angular/core @angular/cli

তবে যখন আমি এটি করি তখন আমি ionic serveবোকা ত্রুটি পেতে শুরু করি:

Error: Angular JIT compilation failed: '@angular/compiler' not loaded!
  - JIT compilation is discouraged for production use-cases! Consider AOT mode instead.
  - Did you bootstrap using '@angular/platform-browser-dynamic' or '@angular/platform-server'?
  - Alternatively provide the compiler with 'import "@angular/compiler";' before bootstrapping.
    at getCompilerFacade (core.js:610)
    at Function.get (core.js:16065)
    at getInjectableDef (core.js:362)
    at injectableDefOrInjectorDefFactory (core.js:16816)

আমি কয়েকটি কৌণিক গিটহাব ইস্যুতে এসেছি:

  1. https://github.com/angular/angular-cli/issues/16873
  2. https://github.com/angular/angular/issues/32466

তারা অন্তর্ভুক্ত করা বলছে import '@angular/compiler';মধ্যে main.tsফাইল কিন্তু যখন আমি আমার অন্যান্য কৌণিক 9 আবেদন এক (যা আমি সম্প্রতি আপডেট করা হয়েছে) মিলেছে, আমি যেমন কনফিগারেশনের সেখানে দেখতে পাচ্ছি না।

আঙ্গুলি 9 আয়নিক 5 এর সাথে কি সামঞ্জস্যপূর্ণ নয়?

উত্তর:


33

এটি ঠিক করার জন্য আপডেট এবং সঠিক সমাধান

থেকে উত্তর ভিত্তিক Tran মধ্যে Quang , আমি দেখতে গিয়েছিলাম CHANGELOG.md এর ionic-nativeএবং জানাতে চাই যে, তারা সম্প্রতি তাদের প্যাকেজ আপডেট কৌণিক 9 কম্পাইল আসেন।

অতএব আপনার কোনও / সমস্ত নির্ভরতা আপডেট করতে হবে @ionic-native। এর জন্য, আপনার package.gsonফাইলের সমস্ত নির্ভরতা দেখুন যা শুরু হয় @ionic-native/এবং একে একে একে আপডেট করে।

উদাহরণস্বরূপ, এটি আমার package.gson:

এখানে চিত্র বর্ণনা লিখুন

সুতরাং আমার সমস্ত @ionic-nativeনির্ভরতা আপডেট করার জন্য আমাকে নিম্নলিখিত কমান্ডগুলি চালাতে হয়েছিল :

npm i @ionic-native/core@latest
npm i @ionic-native/camera@latest
npm i @ionic-native/firebase-x@latest
npm i @ionic-native/splash-screen@latest
npm i @ionic-native/status-bar@latest

আপনার @ionic-nativeনির্ভরতার জন্য আপনাকেও একই কাজ করতে হবে । কেবল নিশ্চিত করুন, সেগুলি সর্বনিম্ন আপডেট হয়েছে v5.21.5(কারণ কয়েকটি পুরাতন প্রকাশের কাজ করা হয়নি)।

চিয়ার্স 😀🎉🎊

যদি কোনও কারণে আপনি নিজের @ionic-nativeনির্ভরশীলতা আপডেট করতে না পারেন তবে বিভিন্ন কর্মক্ষেত্র / সমাধানের জন্য আমার মূল উত্তরটি দেখুন ⬇️


আসল উত্তর

আমার জন্য, নিম্নলিখিত সমাধানগুলি কাজ করেছিল। তারা যোগ করতে নিখুঁত কিনা তা নিশ্চিত নন তবে আশা করছি আয়নিক দল এটিকে ঠিক করবে কারণ যখন আমি আমার সরল কৌণিক অ্যাপ্লিকেশনটি কৌনিক 9 তে আপগ্রেড করেছি তখন এই সমাধানগুলির প্রয়োজন ছিল না।

সমাধান ঘ

পরিবর্তন করে AOT বন্ধ করুন "aot": trueথেকে "aot: falseangular.jsonফাইল। আমি এটি সুপারিশ করব না কারণ এটি কৌণিক অ্যাপ্লিকেশনটির কার্যকারিতা উন্নত করে এবং উন্নয়ন মোডে ত্রুটি কোডগুলি ধরা উন্নত করে।

সমাধান 2

আপনি যদি পরিবর্তন করতে চান না angular.jsonএবং ionic serveকেবল এই সমস্যার সমাধান করতে চান , ব্যবহার করে --aot=falseপতাকাটি ngকমান্ডে পাস করুন --:

ionic serve -- --aot=false

সমাধান 3 (অন্ধ বিকল্প)

যদি উপরের কোনও সমাধান আপনার জন্য কাজ করে না, আপনি একটি কমান্ড চালাতে পারেন npm updateযা আক্ষরিকভাবে আপনার থেকে সমস্ত নির্ভরতা আপডেট করবে package.json(এর অর্থ, আয়নিক নির্ভরতাও আপডেট হবে)।

এটি একটি অন্ধ বিকল্প কারণ আপনার কোন ধারণাগুলি নেই যে কোন নির্ভরতাগুলি আপডেট হয় এবং আপডেট হওয়া নির্ভরতাগুলির মধ্যে কী ভাঙাচ্ছে। সুতরাং আপনি অন্যান্য সমস্যার সমাধান করতে পারেন এর কারণে।

সুতরাং এই ঝুঁকিটি নেওয়ার বিষয়টি আপনার উপর নির্ভর করে :) ভাল, আপনার অ্যাপ্লিকেশনটি এত বড় না হলে বা নতুন নির্ভরতাগুলিতে মুছে ফেলা এমন কোনও কোড ব্যবহার না করে তা করা ভাল।

সমাধান 4 (সর্বশেষ এবং নিকৃষ্ট বিকল্প)

যোগ import '@angular/compiler';মধ্যে main.tsফাইল। তবে এটি বান্ডেলের আকার বাড়িয়ে তুলতে পারে

অতিরিক্ত

অয়নিকে আপগ্রেড করার সময়, ভুল importইন করার কারণে আপনি অন্য সমস্যার মুখোমুখি হতে পারেন polyfills.ts। যদি হ্যাঁ, অ্যানিক 5 এ আপগ্রেড করার পরে টাইপস্ক্রিপ্ট সংকলন থেকে src / অঞ্চল-flags.ts অনুপস্থিত রয়েছে check


4
সমাধান 1 আমার পক্ষে কাজ করেছে
জন পূর্ব

সমাধান 1 এছাড়াও কাজ করেছে
Srdan

1
@ আয়নিক / দেশীয় আপগ্রেড করা আমার পক্ষে কাজ করেছে। আপনার আউটপুট ফাইলের আকার বাড়ানোর কারণেই সম্ভব হলে সংকলকটি অন্তর্ভুক্ত না করে চেষ্টা করার চেষ্টা করুন Best
লি গুণ

1
@ শশাঙ্কআগ্রাওয়াল - আহ দুঃখিত, মন্তব্যটি আপনার উদ্দেশ্য নয় - আমি কেবল "সঠিক সমাধান" তে ওজন যুক্ত করছি এবং সহজ "সংকলক অন্তর্ভুক্ত" নয় যা লোকেরা এখনও ব্যবহারের জন্য প্রলুব্ধ হতে পারে।
লি গুণ

1
আমি আপনার বক্তব্য @ লিগন পেয়েছি এবং ঠিক আছে যদি আপনি উত্তরটির দিকে লক্ষ্য না রাখেন :) কারণ আপনার মন্তব্যটি আমাকে পুনর্বিবেচনা করেছে এবং আমি এই বিকল্পটি শেষ উপায় হিসাবে সরিয়ে উত্তরটির উন্নতি করেছি।
শশাঙ্ক অগ্রওয়াল

5

কৌণিকের জন্য: টার্মিনালটি থামানো এবং এটি পুনরায় পরিবেশন করা ng serveআমার জন্য সমস্যার সমাধান করে।


আপনি স্যার, একজন কিংবদন্তি, আমি জানি না আমি কতটা সময় হারিয়েছি এবং আমি এইটা করতে পারতাম। ধন্যবাদ!
রুবেন সেকিজার

আপনাকে ধন্যবাদ, এটি আমার আনন্দ :)
এম ফুয়াট নুরোলাউ

2

চেষ্টা করুন ng serve --aot, এটি আমাকে সমস্যার সমাধান করতে সহায়তা করেছে, এটিই যদি আপনি আট দিয়ে চালাতে চান যা সুপারিশ করা হয় যেহেতু এটি উত্পাদন গঠনের অনুরূপ এবং এটি আপনাকে শীঘ্রই ত্রুটিগুলি ধরতে সহায়তা করবে।

আশাকরি এটা সাহায্য করবে.

কৌণিক লিঙ্ক: https://angular.io/guide/aot-compiler


হ্যাঁ, আমি @ টনি সম্পর্কে অবগত তবে আমার উদ্বেগটি হ'ল কেন এই ত্রুটিটি স্বাভাবিক কৌণিক অ্যাপ্লিকেশনটিতে 9 এ উন্নীত হওয়ার সময় দেখা যায় নি It এটি কেবল আয়নিক অ্যাপ্লিকেশনটিতেই ঘটেছিল। কিছু কনফিগারেশন সমস্যা হতে পারে।
শশাঙ্ক অগ্রওয়াল

1

আয়নিক আপডেট দ্রুত না হওয়ার কারণে আপনি চেষ্টা করতে পারেন: npm i @ionic-native/status-bar@beta @ionic-native/splash-screen@beta @ionic-native/core@beta -Sআমার জন্য কাজ করুন।

আপডেট 2020/02/18 => npm i @ionic-native/status-bar @ionic-native/splash-screen @ionic-native/core -Sসর্বশেষতম স্থিতিশীল সংস্করণ পেতে আমরা এখন চালাতে পারি


এটি কি একটি প্রশ্ন বা আপনি কিছু উত্তর দেওয়ার চেষ্টা করছেন?
শশাঙ্ক অগ্রওয়াল

ওহ ভাল, আমার @ আয়নিক-নেটিভ নির্ভরতা সর্বশেষতম স্থিতিশীল সংস্করণগুলিতে আপডেট করা আমার পক্ষে কাজ করেছিল। এখানে উল্লিখিত অন্য কোন কাজের ক্ষেত্রের প্রয়োজন নেই।
ফেলসআচআর

0

আয়নিক পাশাপাশি আপডেট করা প্রয়োজন, এটি কাজ করবে। কৌণিকের জন্য আপডেট সংস্করণে এটি সমস্ত নির্ভরশীল নিজেই আপডেট হয়। তবে আয়নিকে ম্যানুয়ালি আপডেট করতে হবে।

"@angular/common": "9.0.5",
    "@angular/core": "9.0.5",
    "@angular/forms": "9.0.5",
    "@angular/platform-browser": "9.0.5",
    "@angular/platform-browser-dynamic": "9.0.5",
    "@angular/router": "9.0.5",
    "@ckeditor/ckeditor5-angular": "1.2.2",
    "@ckeditor/ckeditor5-build-classic": "17.0.0",
    "@ionic-native/camera": "5.22.0",
    "@ionic-native/core": "5.22.0",
    "@ionic-native/crop": "5.22.0",
    "@ionic-native/device": "5.22.0",
    "@ionic-native/diagnostic": "5.22.0",
    "@ionic-native/document-viewer": "5.22.0",
    "@ionic-native/file": "5.22.0",
    "@ionic-native/file-opener": "5.22.0",
    "@ionic-native/file-path": "5.22.0",
    "@ionic-native/file-transfer": "5.22.0",
    "@ionic-native/fingerprint-aio": "5.22.0",
    "@ionic-native/image-picker": "5.22.0",
    "@ionic-native/in-app-browser": "5.22.0",
    "@ionic-native/network": "5.22.0",
    "@ionic-native/splash-screen": "5.22.0",
    "@ionic-native/status-bar": "5.22.0",
    "@ionic-native/toast": "5.22.0",

0

দৌড়ানো npm updateআমার জন্য সমস্যাটি স্থির করে।


হ্যাঁ, এটি অবশ্যই কার্যকর npm updateহবে , কারণ প্রতিটি ও প্রতিটি নির্ভরতা আক্ষরিক অর্থে আপডেট করবে এবং কী আপডেট হয়েছে এবং কী হবে তা আপনার ধারণা নেই। এটি অন্যান্য ত্রুটি হতে পারে।
শশাঙ্ক অগ্রওয়াল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.