在作曲家中安装注释

Posted

技术标签:

【中文标题】在作曲家中安装注释【英文标题】:Installing annotations in composer 【发布时间】:2020-11-19 08:29:13 【问题描述】:

我使用 composer 来安装 pimcore。现在我正在尝试为我正在使用的新主题添加路由,但我遇到了路由错误。基于symfony's documentation,我意识到我需要运行composer require annotations,但我遇到了这个错误:

[InvalidArgumentException]
  Could not find package annotations.

  Did you mean one of these?
  minime/annotations
  zeptech/annotations
  ray/di
  jms/metadata
  jms/aop-bundle

环顾四周后,我发现我首先需要运行composer require sensio/framework-extra-bundle。但是,当我运行它时,一段时间后,我会被击中

mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory
php Fatal error:  Out of memory (allocated 2929729536) (tried to allocate 4096 bytes) in 
phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 129

Fatal error: Out of memory (allocated 2929729536) (tried to allocate 4096 bytes) in 
phar:///usr/local/bin/composer/src/Composer/DependencyResolver/RuleSetGenerator.php on line 129

我意识到这是一个内存问题,服务器上当前有 3GB 内存(通过 DigitalOcean 运行)。我有哪些选择?运行 Ubuntu 16.04 顺便说一句。

我应该补充一点,我在 php.ini 中的内存限制设置为 -1。

【问题讨论】:

我在尝试运行composer update时也遇到同样的内存错误 这能回答你的问题吗? PHP Composer update "cannot allocate memory" error (using Laravel 4) 【参考方案1】:

这是因为默认情况下 PHP 在内存限制下运行。您可以通过运行以下命令来绕过它。

php -d memory_limit=-1 /usr/local/bin/composer install

另一种选择是更新您的 php.ini 文件并设置 memory_limit = -1

【讨论】:

在发布问题之前已经确定了这一点,不过谢谢。我想通了,我发布了解决方案【参考方案2】:

更新:我通过运行解决了它

/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=4096
/sbin/mkswap /var/swap.1
/sbin/swapon /var/swap.1

从硬盘驱动器中添加 4 GB 内存。

然后我只运行我的命令,它更新了框架没有问题。希望这可以帮助某人

【讨论】:

以上是关于在作曲家中安装注释的主要内容,如果未能解决你的问题,请参考以下文章

在 xampp 3.2.2 和 php 7.2.10 中安装作曲家有问题

如何在 Laravel 6.2 中安装 Vue.js

如何在“非作曲家”TYPO3中安装“仅限作曲家模式”扩展名

尝试在 Mac OS X 10.7.5 上的 usr/local/bin 中安装 composer

作曲家无法加载包无效的版本字符串

使用作曲家安装 Laravel 4 包