คำถามติดแท็ก composer-php

Composer เป็นโปรแกรมจัดการแพ็คเกจระดับแอปพลิเคชันสำหรับภาษาโปรแกรม PHP เป็นรูปแบบมาตรฐานสำหรับการจัดการอย่างง่ายดายโดยใช้การอ้างอิงโปรเจ็กต์ (ไลบรารี) ที่ใช้ PHP และได้รับแรงบันดาลใจอย่างมากจาก "npm" ของ Node.js และ "bundler" ของ Ruby ใช้กับแท็ก [php]

3
นักแต่งเพลงต้องการแพ็คเกจท้องถิ่น
ฉันมีห้องสมุด [Foo and Bar] สองแห่งที่ฉันกำลังพัฒนาในคอนเสิร์ต แต่ก็ยังแยกกันอยู่ในทางเทคนิค ก่อนหน้านี้ฉันเพิ่งกำหนดตัวโหลดอัตโนมัติใหม่ให้ชอบ"Foo\\": "../Foo/src"แต่ตอนนี้ฉันได้เพิ่มการพึ่งพา Guzzle ให้กับ Foo แล้ว Bar ก็พลิกฝาเพราะมันไม่ใช่การพึ่งพาอย่างใดอย่างหนึ่ง โครงสร้างไดเรกทอรี: /home/user/src/ Foo/ src/ FooClient.php composer.json Bar/ src/ BarClient.php composer.json คำชี้แจง Autoload เชิงทฤษฎี: [ใน Bar / composer.json] "require": { "local": "../Foo/composer.json" } รหัสตัวอย่าง: require('vendor/autoload.php'); $f = new \Bar\BarClient(new \Foo\FooClient()); ฉันจะแก้ไขปัญหานี้ได้อย่างไรโดยไม่ต้องตั้งค่า repo นักแต่งเพลงในเครื่อง ฉันต้องการรักษาสิ่งเหล่านี้เป็นแพ็กเกจแยกต่างหากเพียงแค่ที่ต้องการอีกแพ็กเกจและเพื่อประมวลผลการอ้างอิงของอีกฝ่าย แก้ไขหลังคำตอบ: ขอบคุณ infomaniac …
108 php  composer-php 

7
ฉันจะติดตั้งแพ็คเกจ PHP ของ Composer โดยไม่มี Composer ได้อย่างไร
ฉันกำลังพยายามติดตั้ง Coinbase PHP API แต่ต้องใช้ Composer: https://github.com/coinbase/coinbase-php ฉันกำลังมองหาโซลูชัน PHP สากล (อาจเป็นฟังก์ชัน) เพื่อให้ฉันติดตั้งแพ็คเกจคอมโพสิตลงในเซิร์ฟเวอร์โดยตรงโดยไม่ต้องใช้ Composer ฉันคิดว่านักพัฒนาของ Composer เชื่อว่าพวกเขากำลังช่วยเหลือผู้คน แต่จริงๆแล้วมีนักพัฒนามือใหม่หลายพันคนที่ถูกล็อคไม่ให้เรียนรู้การพัฒนาเว็บด้วย 'อุปสรรคของนักแต่งเพลง' มันจะช่วยได้มากถ้ามีวิธีแก้ปัญหาที่ยืดหยุ่นหรือแนวทางบางอย่างที่เราสามารถติดตั้งได้โดยไม่ต้องใช้ Composer? ฉันจะทำเช่นนี้ได้อย่างไร? โปรดอย่าตอบกับบางความคิดเห็นแดกดัน มีคนที่ไม่ต้องการใช้ Composer และฉันไม่เห็นว่าทำไมเราจึงควรรวมกลุ่มไว้ในซอฟต์แวร์ของบุคคลที่สามโดยเฉพาะเพื่อทำการพัฒนาเว็บ
107 php  composer-php 

2
นักแต่งเพลงต้องการชื่อสาขา
ตัวอย่างเช่นฉันต้องการ: { "repositories": [ { "type": "git", "url": "https://github.com/google/google-api-php-client.git" } ], "require": { "google/apiclient": "v1-master" } } ในตัวอย่างนี้ผมพยายามที่จำเป็นต้องใช้ในสาขาgoogle/apiclient v1-masterฉันได้รับข้อผิดพลาด: [UnexpectedValueException] Could not parse version constraint v1-master: Invalid version string "v1-master"
106 composer-php 

7
วิธีบังคับให้นักแต่งเพลงติดตั้งไลบรารีใหม่
ฉันใช้แอป ZF2 skeleton และมี. gitignore ที่ป้องกันไม่ให้ไลบรารีภายนอกถูกคอมไพล์ ในขณะที่แก้ไขข้อบกพร่องฉันชอบไปและเปลี่ยนสิ่งต่างๆที่นี่และที่นั่นในแหล่งที่มาของไลบรารีเพื่อเรียนรู้ว่าสิ่งต่างๆทำงานอย่างไร หากสิ่งเหล่านี้เป็นเวอร์ชันที่ควบคุมได้การเปลี่ยนกลับสู่สถานะเดิมจะทำได้ง่ายมาก ฉันจะบังคับให้ Composer ติดตั้งเฟรมเวิร์กเฉพาะใหม่ได้อย่างไรเพื่อให้ได้สำเนา -unmodified- ใหม่อีกครั้ง PS: โปรดอย่าแนะนำให้ลบไฟล์. gitignore เนื่องจากมีเหตุผล มันป้องกันไม่ให้ไลบรารีบุคคลที่สามของฉันเข้าสู่ที่เก็บของแอพของฉัน ฉันสามารถติดตั้งได้ตลอดเวลาระหว่างการปรับใช้อัตโนมัติ

6
อะไรคือความแตกต่างระหว่างส่วนที่ต้องการและต้องการ - dev ใน composer.json?
ฉันเริ่มใช้นักแต่งเพลงฉันรู้เรื่องนี้น้อยมากและมีประสบการณ์เล็กน้อยกับการพัฒนาเว็บแอปพลิเคชัน ฉันเพิ่งอ่านNettuts + Tutorialดังนั้นฉันจึงมีคำถามพื้นฐานเกี่ยวกับนักแต่งเพลง { "require": { "laravel/framework": "4.0.*", "way/generators": "dev-master", "twitter/bootstrap": "dev-master", "conarwelsh/mustache-l4": "dev-master" }, "require-dev": { "phpunit/phpunit": "3.7.*", "mockery/mockery": "0.7.*" }, "autoload": { "classmap": [ "app/commands", "app/controllers", "app/models", "app/database/migrations", "app/database/seeds", "app/tests/TestCase.php" ] }, "scripts": { "post-update-cmd": "php artisan optimize" }, "minimum-stability": "dev" } สิ่งที่ปรากฏใน"require-dev"บางส่วนจะดาวน์โหลดและติดตั้งด้วยcomposer install --dev? ฉันอ่านเอกสารของนักแต่งเพลงบางส่วน แต่ยังไม่เข้าใจว่าอะไรคือเหตุผลที่เรามี"require-dev"ส่วน? …
106 composer-php 

5
ผู้แต่ง: จะค้นหาแพ็คเกจเวอร์ชันที่แน่นอนได้อย่างไร
สมมติว่าฉันกำลังเขียนห้องสมุด A ซึ่งขึ้นอยู่กับห้องสมุดอื่นเช่นคนเดียว ฉันต้องการติดตั้งเวอร์ชันล่าสุดของการพูดคนเดียวดังนั้นฉันจึงใส่สิ่งนี้ไว้ใน composer.json: { "require": { "monolog/monolog": "*.*.*" } } $ php composer.phar installจากนั้นผมทำงาน ฉันคาดหวังว่าจะพบเวอร์ชันที่ติดตั้งภายใน composer.lock แต่ไม่มี: { "hash": "d7bcc4fe544b4ef7561918a8fc6ce009", "packages": [ { "package": "monolog/monolog", "version": "dev-master", "source-reference": "2eb0c0978d290a1c45346a1955188929cb4e5db7" } ], "packages-dev": null, "aliases": [ ], "minimum-stability": "dev", "stability-flags": [ ] } ฉันต้องการเวอร์ชันเพราะฉันต้องการผูกไลบรารีของฉันกับชุดเวอร์ชันเฉพาะเช่น: หากฉันพบเวอร์ชัน 1.3.5 ใน composer.json ของฉันฉันต้องการใส่สิ่งนี้: …

4
นักแต่งเพลง - mbstring ส่วนขยาย PHP ที่ร้องขอหายไปจากระบบของคุณ [ปิด]
ปิด . คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ขณะนี้ยังไม่ยอมรับคำตอบ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เน้นไปที่ปัญหาเดียวโดยแก้ไขโพสต์นี้เท่านั้น ปิดให้บริการใน2 ปีที่ผ่านมา ปรับปรุงคำถามนี้ ฉันเพิ่งพยายามติดตั้งแพ็คเกจผ่าน Composer แต่ฉันพบข้อผิดพลาดที่the requested PHP extension mbstring is missing from your system. ฉันลบอัฒภาคphp.iniแต่ก็ยังใช้งานไม่ได้ ฉันควรทำอย่างไรดี?


1
NPM / Bower / Composer - ความแตกต่าง?
คนที่สามารถอธิบายให้ฉันความแตกต่างระหว่างNPM, และBowerComposer พวกเขาเป็นผู้จัดการแพ็คเกจทั้งหมด - ถูกต้องหรือไม่? แต่แต่ละคนควรใช้เมื่อไหร่? นอกจากนี้ดูเหมือนว่าแต่ละไฟล์จะมีไฟล์ json ที่มาพร้อมกับมันสิ่งนี้เก็บแพ็คเกจทั้งหมดที่คุณต้องการเพื่อให้สามารถติดตั้งด้วยบรรทัด cmd หรือไม่? ทำไมคุณถึงต้องการไฟล์นี้?
102 npm  composer-php  bower 

7
ฉันสามารถติดตั้ง Laravel โดยไม่ใช้ Composer ได้หรือไม่?
ฉันต้องการทราบว่าฉันสามารถติดตั้งหรือใช้เฟรมเวิร์กLaravel PHP บนเว็บเซิร์ฟเวอร์ใดก็ได้โดยไม่ต้องใช้Composer (แพ็คเกจ PHP / ตัวจัดการการพึ่งพา) ทุกครั้งหรือไม่? ฉันต้องการวางแอปลงบนเว็บเซิร์ฟเวอร์ใดก็ได้ (เช่นเซิร์ฟเวอร์ที่ใช้ร่วมกันโดยไม่ต้องเข้าถึงบรรทัดคำสั่ง) ถ้าฉันเรียกใช้composer installครั้งแรก (ในเครื่อง) การอ้างอิงทั้งหมดควรมีอยู่ใช่ไหม จากนั้นฉันควรจะสามารถวางลงบนเซิร์ฟเวอร์ใดก็ได้ที่มีไฟล์ทั้งหมด (รวมถึงไดเร็กทอรีผู้จำหน่าย)?

13
ทำไม PHP Composer ถึงช้ามาก?
เหตุใดPHP Composerจึงช้ามากเมื่อสิ่งที่ฉันทำคือเริ่มต้นโปรเจ็กต์ที่ไม่มีการอ้างอิง นี่คือคำสั่งที่ฉันเรียกใช้: composer init <ขั้นตอนผ่านการสร้าง composer.json กำหนด 0 ศูนย์การอ้างอิง> composer install รอ 3 นาที (ไม่ใช่การพูดเกินจริง) นักแต่งเพลงทุกคนต้องทำคือดึงตัวโหลดอัตโนมัติแล้วสร้าง/vendorเหตุใดจึงใช้เวลานาน ทำไมขั้นตอนนั้นถึงไม่เกิดขึ้นcomposer init? มีตัวเลือกการกำหนดค่าที่ฉันสามารถใช้เพื่อดึงตัวโหลดอัตโนมัติและผู้ขายเข้ามาในแคชได้initหรือไม่?
99 php  composer-php 

16
ปิดใช้งาน xdebug เมื่อเรียกใช้โปรแกรมแต่งเพลง
เมื่อทำงานcomposer diagnoseฉันได้รับข้อผิดพลาดต่อไปนี้: โหลดส่วนขยาย xdebug ซึ่งอาจทำให้ Composer ช้าลงเล็กน้อย ขอแนะนำให้ปิดการใช้งานเมื่อใช้ Composer ฉันจะปิดใช้งาน xdebug เฉพาะเมื่อฉันใช้งาน Composer ได้อย่างไร

7
การติดตั้งเวอร์ชัน laravel เฉพาะด้วยผู้สร้างโครงการ
วิธีที่เร็วและง่ายที่สุดในการติดตั้ง Laravel คือใช้คำสั่ง composer จากเอกสาร laravel ( http://laravel.com/docs/quick ) แสดงว่าเราสามารถติดตั้งได้ด้วยสิ่งนี้: composer create-project laravel/laravel your-project-name --prefer-dist แต่เมื่อคุณเรียกใช้คำสั่งด้านบนมันจะคว้า Laravel เวอร์ชันล่าสุด ฉันจะควบคุมได้อย่างไรหากต้องการติดตั้ง 4.0.x เวอร์ชันล่าสุด หรือ 4.1.x เมื่อ 4.2 ออก?

3
จะระบุเส้นทางการติดตั้ง Composer ได้อย่างไร?
ฉันมีคำจำกัดความนี้: { "repositories": [ { "type": "package", "package": { "name": "symfony/sfGuardPlugin", "version": "4.0.2", "dist": { "url": "http://plugins.symfony-project.org/get/sfGuardPlugin/sfGuardPlugin-4.0.2.tgz", "type": "tar" } } } ], "require": { "symfony/sfGuardPlugin": "4.0.*" } } ฉันใช้ Symfony 1 plugins/sfGuardPlugin/และฉันต้องการที่จะติดตั้งใน ฉันจะระบุสิ่งนี้ได้อย่างไร?

8
ผู้แต่ง: file_put_contents (./ composer.json): ล้มเหลวในการเปิดสตรีม: การอนุญาตถูกปฏิเสธ
ฉันกำลังพยายามติดตั้งPrestissimoไปยังเซิร์ฟเวอร์ Ubuntu 16.04 แต่นั่นทำให้เกิดข้อผิดพลาด: $ composer global require "hirak/prestissimo:^0.3" Changed current directory to /home/kramer65/.composer [ErrorException] file_put_contents(./composer.json): failed to open stream: Permission denied require [--dev] [--prefer-source] [--prefer-dist] [--no-progress] [--no-update] [--no-scripts] [--update-no-dev] [--update-with-dependencies] [--ignore-platform-reqs] [--prefer-stable] [--prefer-lowest] [--sort-packages] [-o|--optimize-autoloader] [-a|--classmap-authoritative] [--] [<packages>]... ฉันลงชื่อเข้าใช้ในฐานะผู้ใช้kramer65ดังนั้นฉันจึงไม่รู้ว่าทำไมจึงไม่สามารถเขียนลงในโฟลเดอร์บ้านได้ ปฏิกิริยาปกติของฉันต่อ a permission deniedคือการใช้sudoแต่ผู้แต่งมักจะพูดว่า: อย่าเรียกใช้ Composer ในฐานะผู้ใช้ root / super! …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.