composer離線安裝本地包方法

2021-05-10 16:00:55

下面由教學欄目給大家介紹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其它相關文章!