下面由教學欄目給大家介紹composer如何離線安裝本地包,希望對需要的朋友有所幫助!
原生的情況是這樣的,composer已安裝,因為專案(thinkphp的)需要安裝一個ffmpeg的包,但是安裝了很多次都安裝不了,後來發現因為在git上,所以索性把包從git上下載下來了,想從本地來安裝,實在忍受不了那個安裝的速度。切換到國內源,阿里源也切換過了,但是就是下不下來,只好把包離線下載下來本地安裝了。
開始很happy地百度這方面的文章,但是大多數方法都不行。於是找朋友骨骼了一下,果然國外才有乾貨。直接上乾貨吧:
首先刪除專案目錄下的composer.lock,然後把下載好的包傳到一個能產生url的地方,直接http就能存取的那種,然後編輯composer.json
"repositories": [ { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" }, { "type": "package", "package": { "name": "php-ffmpeg/php-ffmpeg", "version": "0.16", "dist": { "url": "http://192.168.100.52/upload/PHP-FFMpeg-0.16.zip", "type": "zip" } } } ]
然後,require加上php-ffmpeg/php-ffmpeg(當然你其他的require項保留,這裡只是為了說這個離線包),如下:
"require": { "php-ffmpeg/php-ffmpeg": "^0.16.0" }
然後進行安裝,這裡因為我這composer升級到2.0了,所以加了一個--no-plugins的引數,要不會有黃色的警告,如果你是1.0的話可以不用加這個引數:
composer require php-ffmpeg/php-ffmpeg --no-plugins
或者執行下面的命令也可以:
composer update
上面說的都是實際安裝的全過程,照著擼就是了。
最後,為了方便以後composer的安裝,將新生成的composer.lock刪除,再編輯composer.json,將package那段幹掉,恢復回去:
"repositories": [ { "type": "composer", "url": "https://mirrors.aliyun.com/composer/" } ]
再 composer update一下就行了。
最後說一下參考的文章:
https://stackoverflow.com/questions/29994088/composer-require-local-package
https://getcomposer.org/doc/05-repositories.md#loading-a-package-from-a-vcs-repository
以上就是composer離線安裝本地包方法的詳細內容,更多請關注TW511.COM其它相關文章!