2017-06-10 15 views
0

私はローカルのgit repoを持っていて、私はそれを使いたい場所にプロジェクトを持っています。プロジェクトフォルダ内 composer.json: 作者のアップデートでファイルが更新されない

"repositories": [ 
    { 
     "type":"package", 
     "package":{ 
      "name":"api", 
      "version":"0.1.0", 
      "source":{ 
       "type":"git", 
       "url":"/var/www/modules/api", 
       "reference":"master" 
      } 
     } 
    } 
], 
"require": { 
    "api": "*" 
} 

作曲はレポからGETソースをインストールします。

Loading composer repositories with package information 
Updating dependencies (including require-dev) 
Package operations: 0 installs, 1 update, 0 removals 
    - Updating api (0.1.0 => 0.1.1) Checking out master 
Writing lock file 
Generating autoload files 

しかし、ファイルが更新されませんでした。そこで私は、「0.1.1」 実行作曲のアップデートにバージョンを変更し、リポジトリの変更をコミットし、composer.jsonでは、「0.1.1」 をgitのタグを作ります。

答えて

1

packageをリポジトリタイプとして使用しないでください。何か変更があった場合は、内部のすべての情報を手動で変更する必要があります。

package実際には、composer.jsonを追加できないコードやバージョンコントロールではホストされていないコードがある場合のみです。

他のすべての状況(バージョンコントロールにコードがあります)にcomposer.jsonを追加する場合は、"type" = "vcs"にリポジトリURLを使用してください。作曲家はそれほどうまくいく。

the documentationを参照してください:

パッケージ:あなたはパッケージリポジトリを使用してパッケージをインラインで定義することができ一切作曲のためのあらゆるサポートを持っていないプロジェクトに依存している場合。基本的には、composer.jsonオブジェクトをインライン化するだけです。

the documentationを参照してください:

:このリポジトリタイプはいくつかの制限があり、可能な限り避けるべきである:あなたはバージョンを変更しない限り

  • Composerは、パッケージを更新しませんフィールド。
  • Composerはコミット参照を更新しないので、マスターを参照として使用する場合は、パッケージを削除して更新を強制する必要があり、不安定なロックファイルを処理する必要があります。
関連する問題