Composer install命令在我的计算机上本地正常工作:
当我通过ssh连接到ubuntu服务器,并运行相同的命令时,我得到了这个。
PHP Fatal error: Class 'Composer\Installers\Installer' not found in phar:///usr/local/bin/composer/src/Composer/Installer/InstallerInstaller.php on line 102
Fatal error: Class 'Composer\Installers\Installer' 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"
}
]
}
Edit2 :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
答案 0 :(得分:7)
我设法复制了你的问题。在您运行编写器的目录中,您应该有这样的路径:
vendor/composer/installers/src/Composer/Installers
并且在此目录中应该存在Installer.php
文件。我通过删除那个文件设法得到了同样的错误。
因此,我认为解决方案是简单地完全删除您的vendor
和plugins
目录并尝试再次运行composer install
,从而强制重新下载composer.json
中的所有供应商{1}}。希望这会有所帮助。
答案 1 :(得分:1)
您运行的确切命令是什么?
你应该做什么:
rm -rf vendor/*
以删除所有可能的作曲家数据(它使用vendor / .composer作为缓存)composer self-update
以最新更新Composer。这有用吗?composer -V
apc.enable_cli=0