সুরকারের সাথে কাঁটাচামচ কীভাবে দরকার


172

এখানে আমার রচয়িতা.জসন, আমি গিথুব-এ নটজের কম ফাঁকা প্রকল্পের কাঁটা ব্যবহার করতে চাই

 "repositories": [{
    "type": "package",
    "package": {
        "version": "dev-master",
        "name": "nodge/lessphp",
        "source": {
            "url": "https://github.com/Nodge/lessphp.git",
            "type": "git",
            "reference": "master"
        },
        "autoload": {
            "classmap": ["lessc.inc.php"]
        }
    }
}],
"require": {
    "php": ">=5.3.3",
    "nodge/lessphp": "dev-master"
},

তবে আপডেট করার সময় আমার এই ত্রুটি রয়েছে:

নড / লেডফ্প ডেভ-মাস্টার -> কোনও মিল নেই প্যাকেজ।

এই কাঁটাচামচটি সঠিকভাবে কীভাবে করা দরকার তা আমি জানি না ...

কোনও পরামর্শ ?

উত্তর:


228

এটি করার সর্বাধিক সাধারণ (এবং সহজ) উপায় একটি ভিসিএস সংগ্রহস্থল ব্যবহার করা।

আপনাকে যা করতে হবে তা হ'ল আপনার কাঁটাচামানির দোকান হিসাবে যুক্ত করা এবং আপনার কাস্টম শাখায় নির্দেশ করার জন্য সংস্করণ সীমাবদ্ধতা আপডেট করা। আপনার কাস্টম শাখার নাম অবশ্যই উপস্থাপিত করা উচিতdev-

উদাহরণস্বরূপ আপনি বাগফিক্স শাখায় বাগ সংশোধন করার জন্য মনোোলজকে প্যাচ করে ধরেছেন:

{
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/igorw/monolog"
        }
    ],
    "require": {
        "monolog/monolog": "dev-bugfix"
    }
}

মনে রাখবেন যে আপনি আপনার বাগফিক্স শাখাটি উল্লেখ ব্যতীত প্রয়োজনীয় বিবৃতিটি পরিবর্তন করবেন না। আপনি এখনও আপনার ব্যক্তিগত কাঁটাচামচ ( ) নয়monolog/monolog , প্রবাহ প্যাকেজ ( ) উল্লেখ করুন । আপনি ডক্সে বিশদটি পড়তে পারেনigorw/monolog


6
এটি github.com/Polycademy/purl এর জন্য কাজ করছে বলে মনে হচ্ছে না যা আমি github.com/jwage/purl এর কাঁটাচামচ যা করার চেষ্টা করেছি: "" "সংগ্রহস্থল": [{"টাইপ": "ভিসিএস", "ইউআরএল ":" git@github.com: পলিকেডেমি / purl.git "}], এবং" প্রয়োজনীয় ": j" জাওয়াদে / পুরল ":" দেব-মাস্টার ",}, তবে আমি পেতে থাকি: সমস্যা 1 - অনুরোধ করা প্যাকেজ জাভেড / purl কোনও সংস্করণে খুঁজে পাওয়া যায় নি, প্যাকেজের নামে একটি টাইপও থাকতে পারে।
সিএমসিডিগ্রাগনকাই

11
@ সিএমসিডিগ্রাগনকাই চালানোর চেষ্টা করুন composer show jwade/purl -vএটি আপনাকে জানিয়ে দিতে হবে কেন এটি যদি ডে -মাস্টার সংস্করণটি উপেক্ষা করে তবে তা করা উচিত।
সেলদায়েক

4
আপনি আমাকে বাঁচিয়েছেন ধন্যবাদ! (আমার কাঁটাচামচকে দেব-দেব- বলা হত ..) নামকরণটি স্বয়ংক্রিয়ভাবে ছিল তা জানতেন না।
মিগুয়েল স্টিভেনস

15
"দস্তাবেজগুলি পড়ুন" একটি খারাপ উত্তর, এর চেয়ে আরও ভাল উত্তর
হ'ল

7
ব্যক্তিগত কাঁটাচামচ রেফারেন্স না দেওয়ার বিষয়ে সতর্ক করার জন্য ভাল লাগছে। এটি আমার দিনটি বাঁচিয়েছে, +1
এড্রিয়ান

42

ভিসিএস ব্যবহার করে কাজ করে:

"name": "test/test",
"repositories": [{
    "type": "vcs",
    "url": "http://github.com/Nodge/lessphp"
}],
"require": {
    "leafo/lessphp": "dev-master"
},

তবে আমার যদি এটির একটি মডিউল প্রয়োজন তবে composer.jsonএটি কাজ করে না। এটি কাঁটাচামচ নয়, মূল প্রকল্পটি ইনস্টল করে।

উদাহরণ

"name": "example/example",
"require": {
    "test/test": "dev-master"
},

আমার আবার ভাণ্ডারটি উল্লেখ করা উচিত। এটা কি স্বাভাবিক?


একই এখানে একই সমস্যা
আইজেননৌসি

"আরএম-আরএফ" এবং তারপরে "সুরকার আপডেট" ব্যবহার করে মডিউলটি ম্যানুয়ালি মুছুন। এটা আমার জন্য কাজ করেছে।
হুবার্ট পেরোন

3
আমি কয়েক ডজন কাঁটাচামচ ব্যবহার করেছি এবং এটি কখনও কার্যকর হয়নি । এখানে একটি কার্যক্ষম সমাধান: স্ট্যাকওভারফ্লো.com
জুলিয়েন

4
@Julien, আমি শুধু এই পদ্ধতি ব্যবহার করেছি এবং এটি একটি যাদুমন্ত্র মত কাজ করেছে ... ডক্স বেশ স্পষ্ট, আপনি শুধুমাত্র লাগাতে মনে dev- যখন প্রশ্নে প্যাকেজ প্রয়োজন আপনার কাস্টম শাখা নামে উপসর্গ।
mTorres

2
আমার জন্য কাজ করেছেন ... তবে আমি উল্লেখ করতে চাই যে URL এর জন্য আমার https: // ব্যবহার করা দরকার।
plong0

33

আপনি যদি আপনার জন্য কাজ করার জন্য @ নীলিমের উত্তর পেতে না পারেন তবে নিশ্চিত করুন যে আপনার কাঁটাচামচটি একটি অন্য শাখা ব্যবহার করে।

উদাহরণস্বরূপ, আপনার কাঁটাচামচযুক্ত একটি শাখায় আপনার পরিবর্তনগুলি চাপুন, আপনার শাখার নামে উপসর্গ my-bugfixযুক্ত করবেন না dev-তবে আপনার সুরকার.জসনে আপনাকে এটি যুক্ত করতে হবে। আপনার সুরকার ফাইলটি দেখতে দেখতে এটির মতো হবে:

"repositories":
[
    {
        "type": "vcs",
        "url": "http://github.com/yourname/packageName"
    }
],
"require": {
    "owner/packageName": "dev-my-bugfix"
},

1
এটি আমার জন্য বুদ্ধিমান এবং স্পষ্ট ব্যাখ্যা! ধন্যবাদ !
ডোমিনিক

1
তবে যদি এটি অন্য কারও কাঁটাচামচ হয়? এখানে
26:54

এছাড়াও, nameআপনার কাঁটাযুক্ত সংগ্রহস্থলের composer.jsonফাইলের ক্ষেত্রটি মূল মালিকের সাথে একই থাকে।
NecipAllef

11

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

এটিই আপনাকে করতে হবে:

1- ফোর্ক ডি সংগ্রহস্থল

2- একটি শাখা তৈরি করুন এবং প্রয়োজনীয় পরিবর্তন করুন।

3- আপনার রচয়িতা জেসসনে ভান্ডার লেবেল যুক্ত করুন

"repositories": [

        {
            "type": "vcs",
            "url": "https://github.com/user/yourforkname"
        }
    ]

4- আপনার প্রকল্পের অভ্যন্তরে কমান্ড লাইনের জন্য আপনার কাঁটাচামচটি এর প্রয়োজন:

composer require vendor/packagename:dev-branchname

এবং ভয়েলি !!

আপনার কাঁটা সংস্করণ কাজ করছে


7

রচয়িতা ডকুমেন্টেশন অনুসারে http://getcomposer.org/doc/05-repositories.md#vcs , ( requireআপনার ক্ষেত্রে "নোড / লেটারপ্প" ) এর মূল সংগ্রহস্থল (কাঁটাচামচ নয়) নির্দিষ্ট করা যথেষ্ট । সুরকার তখন আপনার কাঁটাচামচ ইনস্টল করবে (বিক্রেতাদের কোডটি দেখুন)


5

সুতরাং, এটি 2019, এবং এখানে বেশিরভাগ উত্তর ইতিমধ্যে সঠিক।

তবে আপনি যদি নিজেকে খুঁজে পান তবে এমন পরিস্থিতিতে যেখানে আপনার কাঁটাচামড়ার একটি নির্দিষ্ট শাখা প্রয়োজন (যা আপনি তৈরি করেছেন), সুরকারের প্রথমে উপলব্ধ সংস্করণগুলি / ট্যাগগুলির তালিকা তৈরি করুন। এটি আমার অনেক সময় বাঁচিয়েছিল।

spatie/laravel-backupপ্যাকেজ সহ একটি সম্পূর্ণ উদাহরণ ।

প্রথমে, repositoriescomposer.json- এ কী যুক্ত করুন । আপনার কাঁটাচামচের url সহ

"repositories": [{
   "type": "vcs",
   "url": "https://github.com/holymp2006/laravel-backup"
 }]

উপলব্ধ সংস্করণ / ট্যাগ পান

composer show "spatie/laravel-backup" --all

versionsটার্মিনাল আউটপুটে আপনি যে সংস্করণটি চান তা চয়ন করুন , তারপরে সেই সংস্করণটি প্রয়োজন

composer require spatie/laravel-backup:v5.x-dev

2

আমি প্যাকেজ সংজ্ঞাতে সাধারণত একটি "ডিস" নোড যুক্ত করি। এটিকে এভাবে ব্যবহার করতে আমার কখনও সমস্যা হয়নি।

আমি আর বুঝতে পারি না যে এই কৌশলটি আমি কোথা থেকে পেয়েছি, যদিও আরও কোনও ব্যাখ্যার জন্য।

{
    "repositories": [
        {
            "type": "package",
            "package": {
                "version": "dev-master",
                "name": "nodge/lessphp",
                "source": {
                    "url": "https://github.com/Nodge/lessphp.git",
                    "type": "git",
                    "reference": "master"
                },
                "autoload": {
                    "classmap": ["lessc.inc.php"]
                },
                "dist": {
                    "url": "https://github.com/Nodge/lessphp/archive/master.zip",
                    "type": "zip"
                }
            }
        }
    ],
    "require": {
        "nodge/lessphp": "*"
    }
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.