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
文件。 我设法通过删除那个文件得到了相同的错误。
所以我相信一个解决方案是简单地完全删除您的vendor
和plugins
目录,然后再次尝试运行composer install
,强制完全重新下载composer.json
中的所有供应商。 希望这有帮助。
您运行的确切命令是什么?
你应该做什么:
- 运行
rm -rf vendor/*
以擦除所有可能的作曲家数据(它使用供应商/.composer 作为缓存) - 运行
composer self-update
以将作曲家更新到最新版本。这行得通吗? - 试试
composer -V
- 确保服务器上有 openSSL(因为您需要通过 https)
- 在 CLI
apc.enable_cli=0
上将 APC 切换为 false