সুরকার ব্যবহার করে লারাভেল থেকে কীভাবে প্যাকেজ সরিয়ে ফেলবেন?


402

লারাভেল 4 থেকে কোনও প্যাকেজ সরানোর সঠিক উপায় কী? এতক্ষণ আমি চেষ্টা করেছি:

  1. composer.json("প্রয়োজন" বিভাগে) থেকে ঘোষণা সরিয়ে ফেলুন
  2. যে কোনও ক্লাস অ্যালিয়াসগুলি সরান app.php
  3. আমার কোড থেকে প্যাকেজের কোনও রেফারেন্স সরান :-)
  4. চালান composer update
  5. চালান composer dump-autoload

কাজ করছে না! আমি কিছু অনুপস্থিত করছি?

কিছু প্যাকেজ "কারিগর কনফিগারেশন: প্রকাশ ..." এর মাধ্যমে তাদের কনফিগারেশন প্রকাশ করে publish তাদের "অপ্রকাশিত" করার কোনও উপায় আছে কি?

উত্তর:


594

নিম্নলিখিত কমান্ডটি চালনা করা প্যাকেজটি বিক্রেতার (বা যেখানেই আপনি প্যাকেজ ইনস্টল করুন), কম্পোজারে জেসন এবং কম্পোজারআরলক থেকে সরিয়ে ফেলবে। যথাযথভাবে বিক্রেতা / প্যাকেজ পরিবর্তন করুন।

composer remove vendor/package

স্পষ্টতই আপনার অ্যাপ্লিকেশনের মধ্যে আপনাকে সেই প্যাকেজের রেফারেন্সগুলি সরিয়ে ফেলতে হবে।

আমি বর্তমানে সুরকারের নিম্নলিখিত সংস্করণটি চালাচ্ছি:

Composer version 1.0-dev (7b13507dd4d3b93578af7d83fbf8be0ca686f4b5) 2014-12-11 21:52:29

13
এবং তারপরে composer updateবিক্রেতা / প্যাকেজ ফোল্ডারটি সরিয়ে ফেলার জন্য দৌড়ান
জেশান

11
@ জিশনখট্টক সুরকার আপডেট সমস্ত নির্ভরতা আপডেট করবে। এটি প্রকল্পটিকে অস্থিতিশীল অবস্থায় ফেলে দেয়। আপনি নির্ভরতাগুলি আপডেট করতে না চাইলে সুরকার আপডেট ব্যবহার করবেন না
জারাাক্স

11
composer remove packagename, এটি কমপোজারজজেসন থেকে প্যাকেজ অপসারণ আপডেট করে এবং বিক্রেতার থেকে প্যাকেজ ফোল্ডারটি সরিয়ে দেয় ... লারাভেল - 5.4.24, সুরকার - 1.4.2।

এটা তোলে সুরকার মত মনে হয় স্বয়ংক্রিয়ভাবে চলমান পরে অনুপস্থিত প্যাকেজ ইনস্টল করা হয় composer remove <package>। যাইহোক যে এড়াতে? সংস্করণ ব্যবহার করে 1.7.2।
ওলে হার্স্টেট

এটি হওয়া উচিত: পরিবর্তে সুরকার অপসারণ প্যাকেজ_নাম: রচয়িতা অপসারণ বিক্রেতার / প্যাকেজটি বিক্রেতার প্রয়োজন নেই কারণ ল্যারাভেল স্বয়ংক্রিয়ভাবে প্যাকেজগুলির জন্য বিক্রেতা ডিরেক্টরিতে পরীক্ষা করে।
প্রশান্ত

171

এটি কাজ করে গেছে ... লারাভেল থেকে কোনও প্যাকেজ অপসারণের পদক্ষেপগুলি হ'ল:

  1. কমপোজার জাজসন থেকে ঘোষণাটি সরান ("প্রয়োজনীয়" বিভাগে)
  2. "অ্যাপ্লিকেশন / কনফিগারেশন / অ্যাপ্লিকেশন" থেকে পরিষেবা সরবরাহকারী সরান ("সরবরাহকারী" অ্যারেতে উল্লেখ)
  3. "অ্যাপ্লিকেশন / কনফিগারেশন / অ্যাপ্লিকেশন"
  4. আপনার কোড থেকে প্যাকেজের কোনও রেফারেন্স সরান :-)
  5. "সুরকার আপডেট আপডেট / প্যাকেজ-নাম" চালান। এটি "বিক্রেতা" ফোল্ডার থেকে প্যাকেজ ফোল্ডারটি সরিয়ে ফেলবে এবং সুরকার স্বয়ংক্রিয়তা মানচিত্র পুনরায় তৈরি করবে।
  6. ম্যানুয়ালি প্রকাশিত ফাইলগুলি মুছুন (zwacky দ্বারা মন্তব্য পড়ুন)

এটি "বিক্রেতা" ফোল্ডার থেকে প্যাকেজ ফোল্ডারটি সরিয়ে ফেলবে


2
যদিও সম্পদ / কনফিগার প্রকাশ না করা সত্যিই একটি স্বয়ংক্রিয় জিনিস নয়। আমি সাধারণত কনফিগারেশন / অথবা সর্বজনীন / তে ম্যানুয়ালি বিক্রেতা / প্যাকেজ ফোল্ডারগুলি মুছুন।
zwacky

7
লারাভেলটিকে আরও সহজ করার জন্য "প্যাকেজ <প্যাকেজ-নাম> সরান" এর মতো কিছু নিয়ে আসা উচিত।
চন্দন গুপ্ত 14

19
এই সমাধানের সাথে একটি সমস্যা হ'ল এটি অন্যান্য সমস্ত প্যাকেজ আপডেট করবে, যা আপনি যা চান তা নাও হতে পারে।
কাঁপুনি

3
(1) এবং (5) দৌড় দিয়ে প্রতিস্থাপন করা যেতে পারে composer remove vendor/package, আমার ধারণা।
জে কার্লোসআর

আপনাকে ধন্যবাদ, ইগাস্টার / লারাভেল-থিম প্যাকেজ
Jjsg08

59

নিম্নলিখিত কমান্ড চলমান

composer remove Vendor/Package Name

এখানেই শেষ. সুরকার আপডেটের দরকার নেই। বিক্রেতার / প্যাকেজ নেমটি পূর্বের হিসাবে ইনস্টল করা কেবল ডিরেক্টরি


1
আমি এটি করেছি এবং এটি বলেছে যে এটির আর সুরকারের জন্য দরকার নেই জাজসন তাই 'উপেক্ষা'
মিষ্টি চিলি ফিলি

1
composer remove <packageName>আমি মনে করি এটি কোনও প্যাকেজ অপসারণের জন্য উপযুক্ত। সম্পর্কে ভুলে যান Vendor:) উদাহরণস্বরূপ,composer remove laravel/tinker
শামসুল হুদা

43

সাধারণত এটির composer removeমতো ব্যবহৃত যথেষ্ট:

$ composer remove vendor/package

কিন্তু যদি সুরকার প্যাকেজটি সরানো হয় এবং কনফিগার ক্যাশেটি পরিষ্কার না করা হয় তবে আপনি এটি পরিষ্কার করতে পারবেন না, যখন আপনি এর মতো চেষ্টা করেন

php artisan config:clear

আপনি একটি ত্রুটি পেতে পারেন In ProviderRepository.php line 208:

ক্লাস 'ল্যারাকাস্টস \ ফ্ল্যাশ \ ফ্ল্যাশ সার্ভিস প্রোভাইডার' পাওয়া যায় নি

আপনি যদি ফাইল মুছে না যান তবে এটি একটি মৃতপ্রায়

$rm bootstrap/cache/config.php

এবং এটি লারাভেল ৫..6 আমি বলছি, একরকম খুব পুরানো স্টাফ নয়।

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


2
আমি মনে করি এটি 5.7
ইয়েভেগেনি আফানসিয়েভ

1
5.6 দিয়ে আমার বুটস্ট্র্যাপ / ক্যাশেটি খালি ছিল। আমি ভুলে গেছি যে আমি ক্যাশে পথ (কনফিগারেশন / ক্যাশে.এফপি) পরিবর্তন করেছি! নতুন ক্যাশে ফোল্ডারে ফাইলগুলি মুছে ফেলা সমস্যার সমাধান করেছে!
Aine

2
@ ইয়াভেগেনিআফানসিয়েভ এটি ৫.7
শ্রেয়ানশ পঞ্চাল

2
আমি এটি প্রায় আমার চুল টান প্রায় 3 ঘন্টা ব্যয়। আমি ভেবেছিলাম config:clearএটি ঠিক করে দেবে।
শ্রেয়ানশ পঞ্চাল

34

আপনি কেবল টার্মিনালে ফোলউইং কমান্ড টাইপ করে যে কোনও প্যাকেজটি সরিয়ে ফেলতে পারেন, এবং প্যাকেজ ইনস্টল করার সময় আপনি সরবরাহকারীর এবং উরফটি সরিয়ে ফেলতে পারেন, যদি কোনও থাকে এবং সুরকারকে আপডেট করেন,

composer remove vendor/your_package_name
composer update

1
কখনও কখনও নতুন নির্ভরতা আপডেট করতে, আপনাকে সুরকার আপডেট করতে হবে। আমি মনে করি এটি চালাতে কোনও ক্ষতি নেই।
শাহরুখ আনোয়ার

18

আপনি নীচের দুটি পদ্ধতির যে কোনও একটি করতে পারেন:

  1. নীচের কমান্ডটি চালানো (আপনার অন্যান্য প্যাকেজগুলি আপডেট না করেই আপনার প্যাকেজটি সরিয়ে দেওয়ার সর্বাধিক প্রস্তাবিত উপায়)

    $ composer remove vendor/package

  2. আপনার কমপোজারজেসন ফাইলে যান এবং তারপরে নীচের মত কমান্ড চালান এটি আপনার প্যাকেজটি সরিয়ে ফেলবে (তবে এটি আপনার অন্যান্য প্যাকেজগুলিও আপডেট করবে)

    $ composer update


17

কম্পোজার.জসন ঘোষণা থেকে কোনও প্যাকেজ অপসারণ করার আগে, দয়া করে ক্যাশে সরান

php artisan cache:clear  
php artisan config:clear 

আপনি যদি ক্যাশে সরিয়ে ফেলা ভুলে যান এবং শ্রেণিতে ত্রুটি পাওয়া যায় না তবে দয়া করে প্যাকেজটি পুনরায় ইনস্টল করুন এবং ক্যাশে সাফ করুন এবং আবার সরিয়ে ফেলুন।


16

সহজতম এবং সহজতম উপায়

বাক্য গঠন:

composer remove <package>

উদাহরণ:

composer remove laravel/tinker

15

উপরের সমস্ত পদক্ষেপগুলি সম্পন্ন করার পরেও যদি আপনি ত্রুটিটি পেয়ে থাকেন তবে আপনার প্রকল্পগুলিতে যান bootstrap->cache->config.phpক্যাশে অ্যারে থেকে সরবরাহকারী এবং উপস্বত্ত্বের এন্ট্রি ম্যানুয়ালি সরান।


এটি আমাকে সাহায্য করেছিল।
পিটার গ্রিফিন

1
কিছু প্যাকেজ বিক্রেতা প্যাকেজ তৈরি করতে সমস্ত প্রয়োজনীয়তা পূরণ করে না। যে কারণে, এই বিক্রেতারা composer remove vendor/packageযথাযথভাবে ক্যাশে প্রবেশগুলি সরাতে অক্ষম। সুতরাং, @ রমজিথ এপি এখানে একেবারে সঠিক।
সম্রাট খান

12

**

"সুরকার সঞ্চারী / প্যাকেজ সরান" ব্যবহার করুন

** এটি উদাহরণ: প্যাকেজ ইনস্টল / অ্যাড করুন

composer require firebear/importexportfree

আনইনসাল / সরান

composer remove firebear/importexportfree

অপসারণের পরে ফাইনালি:

php -f bin/magento setup:upgrade

php bin/magento setup:static-content:deploy f

php bin/magento indexer:reindex 

php -f bin/magento cache:clean

9

সুরকার কমান্ড ব্যবহার করে একটি প্যাকেজ অপসারণ করতে

composer remove <package>

সুরকার কমান্ড ব্যবহার করে একটি প্যাকেজ ইনস্টল করতে

composer require <package>

সমস্ত প্যাকেজ ইনস্টল করার জন্য যা composer.json এ উল্লিখিত হয়েছে

composer install

প্যাকেজ আপডেট করতে

composer update

আমি এগুলি লারাভেল প্রকল্পের জন্য ব্যবহার করেছি


9

টার্মিনালে নিম্নলিখিত কমান্ডটি লিখে আপনি যে কোনও প্যাকেজ সরিয়ে ফেলতে পারেন, এবং প্যাকেজ ইনস্টল করার সময় আপনি সরবরাহকারী এবং উপনাম সরিয়ে ফেলুন এবং সুরকারকে আপডেট করুন

composer remove <package_name>
composer update

8

প্রদত্ত উত্তরগুলি এখনও আপনাকে এটি সরাতে সহায়তা না করার ক্ষেত্রে এটি ব্যবহার করে দেখুন:

  • ম্যানুয়ালি requireথেকে লাইনটি মুছুনcomposer.json

  • চালান composer update


3

আমরা একটি দুর্দান্ত সমাধান নিয়ে এসেছি। এই সমাধানটি কার্যত লারাভেল in এ করা হয় আপনি যদি আপনার লারাভেল প্রকল্প থেকে কোনও প্যাকেজ অপসারণ করতে চান তবে নীচের পদক্ষেপগুলি অনুসরণ করে আপনি সহজেই প্যাকেজটি সরাতে পারবেন:

পদক্ষেপ 1: আপনি যে প্যাকেজটি মুছে ফেলতে চান তা আপনাকে অবশ্যই জানতে হবে। আপনি যদি পুরো প্যাকেজের নাম জানেন না তবে আপনি নিজের প্রকল্পের ফোল্ডারটি খুলতে পারবেন এবং composer.jsonফাইলের কাছে যেতে পারেন এবং একটি অ্যারের প্রয়োজনে নাম পরীক্ষা করতে পারেন

"require": {
        "php": "^7.2",
        "fideloper/proxy": "^4.0",
        "laravel/framework": "^6.2",
        "laravel/passport": "^8.3",
        "laravel/tinker": "^2.0"
    },

মনে করুন, এখানে আমি "ফিডেলোপার / প্রক্সি" প্যাকেজটি সরিয়ে ফেলছি।

পদক্ষেপ 2 : আপনার প্রকল্পের মূল ফোল্ডার ডিরেক্টরি সহ ওপেন কমান্ড প্রম্পট পদক্ষেপ 3: প্রথমে কমান্ডগুলি অনুসরণ করে সমস্ত ক্যাশে সাফ করুন। একের পর এক কমান্ড চালান।এখানে চিত্র বর্ণনা লিখুন

php artisan cache:clear  
php artisan config:clear 

পদক্ষেপ 4: এখন প্যাকেজ অপসারণের জন্য নিম্নলিখিত কমান্ডটি লিখুন। এখানে আমার উদাহরণ প্যাকেজের পরিবর্তে আপনার প্যাকেজের নাম পরিবর্তন করতে হবে।

composer remove fideloper/proxy

এখন, আপনার প্যাকেজটি মুছে ফেলা হচ্ছে কয়েক সেকেন্ড অপেক্ষা করুন।


2
বা composer remove laravel/telescope --devযদি এটি ডেভ প্যাকেজ হয়
বিনসা

3

এর সাথে প্যাকেজটি সরান

composer remove vendorname/packagename

আপনি composer.json - ডক্স থেকে প্যাকেজ অপসারণ পরীক্ষা করতে পারেন

অথবা আপনি composer.jsonফাইল থেকে প্যাকেজের নামটি সরিয়ে composer updateআপনার প্রকল্প ডিরেক্টরিতে চালনা করতে পারেন । আমি আসা করি এটা সাহায্য করবে.

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