Rumah alat pembangunan composer composer install 很慢?怎么让composer加速

composer install 很慢?怎么让composer加速

Aug 07, 2019 pm 02:44 PM
composer

composer install 为什么这么慢?怎么让composer加速?下面由composer使用教程栏目为大家讲解让composer加速的方法。

composer install 很慢?怎么让composer加速

下面是一个composer install(在没有composer cache的情况下)做的所有事情:

[vagrant@localhost composer]$ ../composer_git/bin/composer install -vvv
Reading ./composer.json
Loading config file /home/vagrant/.composer/config.json
Loading config file /home/vagrant/.composer/auth.json
Loading config file ./composer.json
Executing command (CWD): git describe --exact-match --tags
Executing command (CWD): git branch --no-color --no-abbrev -v
Executing command (CWD): hg branch
Executing command (CWD): svn info --xml
Failed to initialize global composer: Composer could not find the config file: /home/vagrant/.composer/composer.json
To initialize a project, please create a composer.json file as described in the https://getcomposer.org/ "Getting Started" section
Loading composer repositories with package information
Downloading http://packagist.org/packages.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/packages.json into cache
Installing dependencies (including require-dev)
Downloading http://packagist.org/p/provider-2013$8e290f3d47387c614761a9dc40a2ef6fb7dafb0cfe2264296e8fab2c6ee36bff.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2013.json into cache
Downloading http://packagist.org/p/provider-2014$c0d0e03ec56584b3bf3148ac1565d89e789a57b90d72f83a7a54a55fbfc4f083.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2014.json into cache
Downloading http://packagist.org/p/provider-2014-07$9b2d66a77e2f17ca1c18602419a2b53b00d42e0010d0a64fbbdcc1a01bbe092b.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2014-07.json into cache
Downloading http://packagist.org/p/provider-2014-10$ed15097a7afa5a3f48b27f0ce38c5e3e8943514a0bdfd1898af31c9f8f913edb.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2014-10.json into cache
Downloading http://packagist.org/p/provider-2015-01$3180dce46ea79fa77320185df239a62c07f6dbdeb21bc8ac6cd85b5d911a21ea.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2015-01.json into cache
Downloading http://packagist.org/p/provider-2015-04$7e98f73b92b237ae4f6b07c8b8bd2e754357c86214cddf53cfafe8554b30f8b4.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-2015-04.json into cache
Downloading http://packagist.org/p/provider-archived$dfa1d92d2697fc375a1d522ab573634ee18807646f4abc322b6933157a07b829.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-archived.json into cache
Downloading http://packagist.org/p/provider-latest$115a50bcbcb32507b9b7b41a1d44b80ddd4848fb12cefee5769e9eb71769f7a8.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/p-provider-latest.json into cache
Downloading http://packagist.org/p/monolog/monolog$c1954eb1d33e701ea323b97ff003a6495c79b138fe68a9087a9dce1d06e90ebc.json
Writing /home/vagrant/.composer/cache/repo/http---packagist.org/provider-monolog$monolog.json into cache
  - Installing monolog/monolog (1.0.0)
Downloading https://api.github.com/repos/Seldaek/monolog/zipball/433b98d4218c181bae01865901aac045585e8a1a
    Downloading: 100%
Writing /home/vagrant/.composer/cache/files/monolog/monolog/433b98d4218c181bae01865901aac045585e8a1a.zip into cache
    Extracting archive
Executing command (CWD): unzip '/vagrant/composer/vendor/monolog/monolog/2db4c7a59b236e77c15ff6a4f279a2c6' -d '/vagrant/composer/vendor/composer/abaad4e5' && chmod -R u+w '/vagrant/composer/vendor/composer/abaad4e5'
    REASON: Required by root: Install command rule (install monolog/monolog 1.0.0)
Writing lock file
Generating autoload files
Salin selepas log masuk

composer 在install的时候会做这几个事情:

去packagist.org中寻找对应需要的包的版本信息和下载地址

循环下载对应的包

解压安装对应的包

我们平时使用composer慢就可能在第一步和第二步出现慢。而第三步,由于php的版本或者依赖限制,也有可能安装失败。

第一步中的packagist.org保存了所有的第三方包的信息。要把这个信息文件从国外的网站拉取下来,这个本身就可能非常慢。

第二步获取了包信息之后,我们就需要把相关的包获取下来,这个时候如果包所在的地址(现在大多数包都放在github上了)访问非常慢,那么这一步就会非常慢了。

解决慢的办法有几个:

1 使用国内镜像。

(http://pkg.phpcomposer.com/repo/packagist/)[http://pkg.phpcomposer.com]
(http://comproxy.cn/repo/packagist)[https://phphub.org/topics/57]
(https://toran.reimu.io/repo/packagist/)[https://toran.reimu.io/]
Salin selepas log masuk

2 我们可以不可以自己搭建镜像呢?

可以的,这里有个开源项目(toran proxy)[https://toranproxy.com/]可以配合nginx很方便搭建属于自己的composer镜像。

自己的第三方包

还有一种需求,公司现在开发了一个第三方包,但是不希望开源到packagist.org上,只希望给自己公司内部使用。怎么办?

这个可以使用composer代理(satis)[https://github.com/composer/satis]来创建。搭建的方式也是非常简单的。其实上面说的toran proxy就是基于satis来创建的。

satis和toran的区别就是,satis只是做了代理,即将composer install的第一步做了替换,而toran则是将composer install的第一步和第二步都进行了替换。

结论

至此之后,再无composer install 慢的问题。

更多composer使用技术文章,请访问composer使用教程栏目!

Atas ialah kandungan terperinci composer install 很慢?怎么让composer加速. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Ciri lanjutan komposer: alias, skrip dan penyelesaian konflik Ciri lanjutan komposer: alias, skrip dan penyelesaian konflik Jun 03, 2024 pm 12:37 PM

Komposer menyediakan ciri lanjutan, termasuk: 1. Alias: tentukan nama yang sesuai untuk pakej untuk rujukan berulang; , kekangan kepuasan dan alias pakej menyelesaikan keperluan berbeza berbilang pakej untuk versi pergantungan yang sama untuk mengelakkan konflik pemasangan.

Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP Pembangunan tangkas dan pengendalian kontena perkhidmatan mikro PHP May 08, 2024 pm 02:21 PM

Jawapan: Perkhidmatan mikro PHP digunakan dengan HelmCharts untuk pembangunan tangkas dan kontena dengan DockerContainer untuk pengasingan dan kebolehskalaan. Penerangan terperinci: Gunakan HelmCharts untuk menggunakan perkhidmatan mikro PHP secara automatik untuk mencapai pembangunan tangkas. Imej Docker membenarkan lelaran pantas dan kawalan versi perkhidmatan mikro. Piawaian DockerContainer mengasingkan perkhidmatan mikro dan Kubernetes mengurus ketersediaan dan kebolehskalaan bekas. Gunakan Prometheus dan Grafana untuk memantau prestasi dan kesihatan perkhidmatan mikro, serta mencipta penggera dan mekanisme pembaikan automatik.

Peranan PHP CI/CD dalam projek DevOps Peranan PHP CI/CD dalam projek DevOps May 08, 2024 pm 09:09 PM

PHPCI/CD ialah amalan utama dalam projek DevOps yang mengautomasikan proses binaan, ujian dan penggunaan, dengan itu meningkatkan kecekapan pembangunan dan kualiti perisian. Saluran paip PHPCI/CD biasa terdiri daripada peringkat berikut: 1) Penyepaduan Berterusan: Setiap kali kod berubah, kod dibina dan diuji secara automatik. 2) Penggunaan berterusan: Mempercepatkan penghantaran dengan menggunakan kod yang diuji dan bersepadu secara automatik ke persekitaran pengeluaran. Dengan melaksanakan saluran paip PHPCI/CD, anda boleh meningkatkan kecekapan pembangunan, meningkatkan kualiti perisian, memendekkan masa untuk memasarkan dan meningkatkan kebolehpercayaan.

Kawalan versi kod PHP dan kerjasama Kawalan versi kod PHP dan kerjasama May 07, 2024 am 08:54 AM

Kawalan versi kod PHP: Terdapat dua sistem kawalan versi (VCS) yang biasa digunakan dalam pembangunan PHP: Git: VCS yang diedarkan, tempat pembangun menyimpan salinan asas kod secara setempat untuk memudahkan kerjasama dan kerja luar talian. Subversion: VCS Berpusat, salinan unik pangkalan kod disimpan pada pelayan pusat, memberikan lebih kawalan. VCS membantu pasukan menjejaki perubahan, bekerjasama dan kembali ke versi terdahulu.

Teknologi visualisasi struktur data PHP Teknologi visualisasi struktur data PHP May 07, 2024 pm 06:06 PM

Terdapat tiga teknologi utama untuk menggambarkan struktur data dalam PHP: Graphviz: alat sumber terbuka yang boleh mencipta perwakilan grafik seperti carta, graf akiklik terarah dan pepohon keputusan. D3.js: Pustaka JavaScript untuk mencipta visualisasi dipacu data interaktif, menjana HTML dan data daripada PHP, dan kemudian menggambarkannya pada sisi klien menggunakan D3.js. ASCIIFlow: Perpustakaan untuk mencipta perwakilan teks rajah aliran data, sesuai untuk visualisasi proses dan algoritma.

Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? Bagaimana untuk menggunakan PHP CI/CD untuk lelaran dengan cepat? May 08, 2024 pm 10:15 PM

Jawapan: Gunakan PHPCI/CD untuk mencapai lelaran pantas, termasuk menyediakan saluran paip CI/CD, ujian automatik dan proses penggunaan. Sediakan saluran paip CI/CD: Pilih alat CI/CD, konfigurasikan repositori kod dan tentukan saluran paip binaan. Ujian automatik: Tulis ujian unit dan penyepaduan dan gunakan rangka kerja ujian untuk memudahkan ujian. Kes praktikal: Menggunakan TravisCI: Pasang TravisCI, tentukan saluran paip, dayakan saluran paip dan lihat hasilnya. Laksanakan penyampaian berterusan: pilih alatan pengerahan, tentukan saluran paip pengerahan dan automatik penggunaan. Faedah: Meningkatkan kecekapan pembangunan, mengurangkan ralat dan memendekkan masa penghantaran.

Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? Bagaimana untuk menggunakan cache Redis dalam penomboran tatasusunan PHP? May 01, 2024 am 10:48 AM

Menggunakan cache Redis boleh mengoptimumkan prestasi halaman tatasusunan PHP. Ini boleh dicapai melalui langkah berikut: Pasang klien Redis. Sambung ke pelayan Redis. Cipta data cache dan simpan setiap halaman data ke dalam cincangan Redis dengan kunci "halaman:{page_number}". Dapatkan data daripada cache dan elakkan operasi mahal pada tatasusunan besar.

Bagaimanakah Komposer mengendalikan fail composer.lock? Bagaimanakah Komposer mengendalikan fail composer.lock? Jun 03, 2024 pm 04:40 PM

Komposer menguruskan kebergantungan dengan menggunakan fail composer.lock, yang merekodkan semua kebergantungan yang dipasang dan versi tepatnya, menjadikannya: Memastikan konsistensi dan mengelakkan konflik versi. Tingkatkan prestasi tanpa perlu mencari pakej berulang kali. Jejaki perubahan, merekodkan versi pergantungan yang dipasang selepas setiap arahan pemasangan.

See all articles