2

Composerのインストールコマンドは、私のコンピューターでローカルに正常に機能します。

  • パッケージ情報を含むコンポーザーリポジトリのロード
  • ロックファイルからの依存関係のインストール
  • インストールまたは更新するものはありません
  • 自動ロードファイルの生成

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
4

2 に答える 2

7

私はあなたの問題を再現することができました。composer を実行しているディレクトリー内には、次のようなパスが必要です。

vendor/composer/installers/src/Composer/Installers

このディレクトリ内にファイルが存在する必要がありInstaller.phpます。その1つのファイルを削除することで、あなたが得ているのと同じエラーを得ることができました。

したがって、解決策は、ディレクトリvendorとディレクトリを完全に削除して再度plugins実行し、 . お役に立てれば。composer installcomposer.json

于 2012-12-12T23:56:07.823 に答える
1

実行する正確なコマンドは何ですか?

あなたがすべきこと:

  • を実行rm -rf vendor/*して、可能なすべてのコンポーザーデータを消去します (ベンダー/.composer をキャッシュとして使用します)。
  • を実行composer self-updateして、Composer を最新の状態に更新します。これは機能しますか?
  • 試すcomposer -V
  • サーバーにopenSslがあることを確認してください(https経由で必要なため)
  • cli で APC を false に切り替えますapc.enable_cli=0
于 2012-12-11T23:16:22.070 に答える