作曲家无法在 AWS Ubuntu 服务器上工作,本地工作正常



Composer 安装命令在我的计算机上本地工作正常:

  • 加载包含包信息的作曲家存储库
  • 从锁定文件安装依赖项
  • 无需安装或更新
  • 生成自动加载文件

当我通过 ssh 连接到 ubuntu 服务器并运行相同的命令时,我得到了这个。

PHP Fatal error:  Class 'ComposerInstallersInstaller' not found in phar:///usr/local/bin/composer/src/Composer/Installer/InstallerInstaller.php on line 102
Fatal error: Class 'ComposerInstallersInstaller' not found in phar:///usr/local/bin/composer/src/Composer/Installer/InstallerInstaller.php on line 102

我按照此处的说明为两台机器进行操作:https://github.com/composer/composer/blob/master/README.md

我在这里缺少一些依赖项?我不知道为什么会出现这个错误。

编辑:这是.json(项目是symfony 1.4,也添加标签)

{
  "minimum-stability": "dev",
  "require"     : {
    "snappy/sfSnappyPlugin": "*"
  },
  "repositories": [
    {
      "type": "git",
      "url": "https://github.com/FloranBrutel/sfSnappyPlugin.git"
    }
  ]
}

编辑2:AWS 服务器上 php -v 的输出

PHP 5.3.10-1ubuntu3.4 with Suhosin-Patch (cli) (built: Sep 12 2012 18:59:41) 
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies

在我的机器上,我有:

PHP 5.3.6-13ubuntu3.9 with Suhosin-Patch (cli) (built: Sep 12 2012 19:00:27) 
Copyright (c) 1997-2011 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2011 Zend Technologies
with Xdebug v2.1.0, Copyright (c) 2002-2010, by Derick Rethans

我已经设法复制了你的问题。 在你运行作曲家的目录中,你应该有一个这样的路径:

vendor/composer/installers/src/Composer/Installers

在此目录中应该存在一个Installer.php文件。 我设法通过删除那个文件得到了相同的错误。

所以我相信一个解决方案是简单地完全删除您的vendorplugins目录,然后再次尝试运行composer install,强制完全重新下载composer.json中的所有供应商。 希望这有帮助。

您运行的确切命令是什么?

你应该做什么:

  • 运行rm -rf vendor/*以擦除所有可能的作曲家数据(它使用供应商/.composer 作为缓存)
  • 运行 composer self-update 以将作曲家更新到最新版本。这行得通吗?
  • 试试composer -V
  • 确保服务器上有 openSSL(因为您需要通过 https)
  • 在 CLI apc.enable_cli=0上将 APC 切换为 false

相关内容

  • 没有找到相关文章

最新更新