我试图通过运行下面的命令将HWIOAuthBundle添加到我的项目中。

composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

HWIOAuthBundle github: https://github.com/hwi/HWIOAuthBundle

当我试图运行作曲家要求,我得到了内存错误。

Using version ^0.6.0@dev for hwi/oauth-bundle Using version ^1.2@dev for php-http/guzzle6-adapter Using version ^1.10@dev for php-http/httplug-bundle ./composer.json has been updated Loading composer repositories with package information Updating dependencies (including require-dev) PHP Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes) in phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220 Fatal error: Allowed memory size of 1610612736 bytes exhausted (tried to allocate 67108864 bytes) in phar:///usr/local/Cellar/composer/1.4.2/libexec/composer.phar/src/Composer/DependencyResolver/Solver.php on line 220

我尝试在我的php.ini文件中设置内存限制为2G,但没有工作。我找到我的php.ini通过运行php -i | grep php.ini


当前回答

最近发现,Composer在具有大量历史标记的包上消耗了大量CPU +内存。看到作曲家/作曲家# 7577

这个问题的解决方法是使用symfony/flex或https://github.com/rubenrua/symfony-clean-tags-composer-plugin

composer global require rubenrua/symfony-clean-tags-composer-plugin

其他回答

苹果笔记本电脑: 执行命令sudo nano ~/。bash_profile编辑bash_profile,然后在该文件中添加别名composer="COMPOSER_MEMORY_LIMIT=-1 composer",然后保存并退出。

希望这样能解决问题;编码快乐!

只是想分享一下我在这件事上的情况。

问题背景:

在一个流浪的盒子里运行作曲家。 在尝试运行composer require " laravell -doctrine/orm:~1.4.13"后得到此消息:

致命错误:在phar:///usr/local/bin/composer/src/ composer/ DependencyResolver/RuleWatchGraph.php第52行中,允许的内存大小为1610612736字节已耗尽(试图分配4096字节) 有关如何处理内存不足错误的更多信息,请访问https://getcomposer.org/doc/articles/troubleshooting.md#memory-limit-errors。

已尝试将php.ini内存限制设置为-1。(仍然没有工作)。

解决方案:

显然是我的作曲家。Json和composer。洛克有一些问题。 运行$ composer validate,结果是: “锁文件不符合composer的最新更改。Json,建议您运行composer update。 所以我运行$ composer update,所有依赖项都被解析了。依我之见,当依赖关系出现问题时,可能是树的构建不同步,因此出现内存不足的问题。

希望这对大家有所帮助。

要获取当前的memory_limit值,运行:

php -r "echo ini_get('memory_limit').PHP_EOL;"

尝试增加php.ini文件中的限制(例如/etc/php5/cli/php.ini对于debian类系统):

; Use -1 for unlimited or define an explicit value like 2G
memory_limit = -1

或者,你可以用命令行参数增加限制:

php -d memory_limit=-1 composer.phar require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

要加载php.ini文件,请尝试:

php --ini

另一个快速解决方案:

php composer.phar COMPOSER_MEMORY_LIMIT=-1 require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

或者是:

COMPOSER_MEMORY_LIMIT=-1 composer require hwi/oauth-bundle php-http/guzzle6-adapter php-http/httplug-bundle

在我的情况下,我试图安装Laravel框架没有说明xampp服务器(或apache服务器)在我的windows系统,我得到以下错误

致命错误:允许的1610612736字节内存耗尽

当我启动xampp服务器(或apache服务器)时,它就开始安装laravel框架,错误就消失了。

所以有时候你必须检查这个,否则它会比平时花费更长的时间,消耗更多的内存,结果大小会被耗尽。

运行composer dump-autoload为我解决了这个问题。