composer离线安装本地包方法

下面由composer教程栏目给大家介绍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离线安装本地包方法的详细内容,更多请关注其它相关文章!