Gulp চালানোর সময় আপনি এমন একটি এরর দেখতে পারেন যা বলে "cannot find module gulp-sass"।
এই এরর মেসেজের অর্থ হলো Gulp গাল্প-স্যাস প্যাকেজ থেকে একটি ফাংশন চালানোর চেষ্টা করছে, কিন্তু সেটি খুঁজে পাচ্ছে না।
আপনি যদি এই বিরক্তিকর এরর পান, তবে এখানে কিছু ফিক্স দেওয়া হলো যা আপনি ব্যবহার করে এটি থেকে মুক্তি পেতে পারেন।
আপনার node_modules ফোল্ডার চেক করুন
যখন আপনি npm প্যাকেজ ইনস্টল করেন, npm আপনার প্রজেক্ট রুটে একটি node_modules ফোল্ডার তৈরি করে। এটি আপনার ইনস্টল করা প্যাকেজগুলোকেও আপনার package.json এবং package-lock.json ফাইলগুলিতে যোগ করে।
আপনি একটি প্যাকেজ ইনস্টল হয়েছে কিনা তা নিশ্চিত করতে পারেন এটি আপনার package এবং package-lock.json ফাইলগুলিতে লিস্ট করা আছে কিনা দেখে। এবং আপনার node_modules ফোল্ডারটি ডাবল চেক করুন যাতে প্যাকেজটি সাবফোল্ডারে আছে।
শেষে, নিশ্চিত করুন আপনি আপনার ওয়েবসাইট বা ওয়েব অ্যাপটি প্রজেক্ট রুট ফোল্ডার থেকে চালাচ্ছেন, এবং রুট ফোল্ডারে node_modules ফোল্ডারটি একটি ডায়রেক্ট সাবফোল্ডার হিসেবে আছে। যদি node_modules ফোল্ডারটি সে লোকেশনে না থাকে, তবে এটি এই এররটি ঘটাতে পারে।
gulp-sass মডিউলটি ম্যানুয়ালি ইনস্টল করুন
আপনি যদি আপনার node_modules ফোল্ডারে gulp-sass প্যাকেজটি না দেখেন, বা এখনও সমস্যা থাকে, তবে আপনি প্যাকেজটি রি-ইনস্টল করার চেষ্টা করতে পারেন।
প্রথমে, আপনার package.json এবং package-lock.json ফাইলগুলো খুলুন এবং যেকোনো gulp-sass এবং node-sass রেফারেন্স মুছে দিন যা আপনি দেখছেন। এটি নিশ্চিত করবে যে আপনি প্যাকেজগুলোর সবচেয়ে আপ-টু-ডেট ভার্সন রি-ইনস্টল করছেন।
তারপর npm install gulp-sass বা npm install gulp-sass --save-dev চালিয়ে প্যাকেজটি ইনস্টল করুন এবং package.json ফাইলে সেভ করুন। --save-dev ফ্ল্যাগ যোগ করলে প্যাকেজগুলো আপনার package.json ফাইলের devDependencies সেকশনে যোগ হবে।
আপনি যদি ফ্ল্যাগটি না যোগ করেন তবে সেটি ফাইলের dependencies সেকশনে যোগ হবে। বিশেষত যদি আপনি শুধু লোকালি কাজ করেন, তবে কোন সেকশন ব্যবহার করলে কোন বড় পার্থক্য হয় না, তাই আপনার নিজের পছন্দ অনুসরণ করুন।
লক্ষ্য করুন এটি প্যাকেজটি আপনার প্রজেক্ট ফোল্ডারে লোকালি ইনস্টল করবে, এবং প্যাকেজটি শুধু সেই প্রজেক্ট থেকে অ্যাক্সেসযোগ্য হবে। আপনি প্যাকেজগুলিও গ্লোবালি আপনার কম্পিউটারে ইনস্টল করতে পারেন, যাতে সেগুলো যেকোনো অন্য ডিরেক্টরি থেকে অ্যাক্সেসযোগ্য হয়।
আপনি ইনস্টল কমান্ডে গ্লোবাল (-g) ফ্ল্যাগ যোগ করে এটি করতে পারেন, যেমন: npm install -g gulp-sass।
যাইহোক আমি সাধারণত প্যাকেজগুলো প্রজেক্টের লোকালি ইনস্টল করি। আমি gulp-cli গ্লোবালি ইনস্টল করি, কিন্তু বাকি সবকিছু আমি লোকালি রাখি।
সকল npm প্যাকেজ ডিলিট করে পুনরায় ইনস্টল করুন
যদি শুধু gulp-sass প্যাকেজটি রিমুভ ও রি-ইনস্টল করলে কাজ না করে, তবে আপনি আপনার সকল npm প্যাকেজ ডিলিট করে পুনরায় ইনস্টল করার চেষ্টা করতে পারেন।
প্রথমে, নিশ্চিত করুন যে আপনার প্রজেক্টে যা যা প্যাকেজ দরকার সেগুলো আপনার package.json ফাইলে আছে। এছাড়া নিশ্চিত করুন যে gulp-sass আপনার package.json ফাইলে আছে।
তারপর, আপনার node_modules ফোল্ডারটি ডিলিট করুন। আপনি এটি ফাইল এক্সপ্লোরার থেকে ডিলিট করতে পারেন, অথবা কমান্ড লাইনে rm node_modules চালিয়ে। যদি আপনি ফোল্ডার ডিলিট করতে কোনো এরর বা সমস্যা মুখোমুখি হন, তবে আপনি rimraf নামে একটি npm প্যাকেজ ইনস্টল করতে পারেন যা ডিলিট করতে সাহায্য করে।
আমি আমার কম্পিউটারে rimraf গ্লোবালি ইনস্টল করি যাতে আমি যেকোনো ডিরেক্টরি থেকে এটি চালাতে পারি। আপনি rimraf গ্লোবালি ইনস্টল করতে পারেন npm install -g rimraf চালিয়ে। তারপর প্রজেক্ট রুট কমান্ড লাইন থেকে rimraf node_modules চালিয়ে ফোল্ডারটি ডিলিট করার চেষ্টা করুন।
আপনি যদি এখনও সমস্যা বা এরর পান যেমন node_modules\@types is not accessible তবে আপনাকে প্রথমে VS Code বা আপনি যে কোড এডিটর ব্যবহার করছেন সেটি বন্ধ করতে হতে পারে। তারপর আবার ফোল্ডারটি ডিলিট করার চেষ্টা করুন।
একবার আপনি সফলভাবে node_modules ফোল্ডারটি ডিলিট করলে, আপনার প্রজেক্ট রুট থেকে npm install চালিয়ে আপনার লিস্ট করা সকল প্যাকেজ ইনস্টল করুন।