githubでモジュールを管理するためにmodmanを使用する方法は?


12

githubで拡張機能を管理するためにmodmanhttps://github.com/colinmollenhour/modman)を使用しようとしています。

最初に、MagePsycho_Someext拡張機能をデモとして追加しようとしています。

これまでのところ、次の手順を実行しました

/var/www/magento-dir/ -> My Magento Installation Dir
/var/www/MagePsycho_Extensions/ --> Git Repository Dir
  1. cd /var/www/MagePsycho_Extensions/
  2. git clone git@github.com:magepsycho/Someext.git
  3. touch modman
  4. git commit -am 'Modman file added'
  5. git push origin master
  6. cd /var/www/magento-dir/
  7. modman init
  8. modman clone git@github.com:magepsycho/Someext.git
  9. / var / www / magento-dirに次のファイルを含む拡張機能「MagePsycho_Someext」を開発しました
    • app / etc / modules / MagePsycho_Someext.xml
    • app / code / local / MagePsycho / Someext / etc / config.xml
    • app / code / local / MagePsycho / Someext / Helper / Data.php

10 /var/www/magento-dir/.modman/Someext/modmanにファイルマッピング情報を追加しました。

app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml
app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/etc/config.xml
app/code/local/MagePsycho/Someext/Helper/Data.php app/code/local/MagePsycho/Someext/Helper/Data.php

11 modman update Someext

しかし、次のエラーが発生しました:

WARNING: Target does not exist (.modman/Someext/modman):
 app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml

:私は拡張機能を開発してい/var/www/magento-dir/ます。そして、modmanを使用してこれらの拡張機能(リポジトリごとに1つ)をgithubにデプロイしたい。モジュールの開発が終了したら、それらのファイルをリポジトリに追加したいと思います。そのために、マッピングに.modman / * / modmanファイルを使用しました。しかし、それを機能させることはできません。

どこに何が欠けていますか?
またはこれは間違ったアプローチですか?

[編集]

私は自分のアプローチが正反対だと気づきました。最初に、パスマッピングを使用して拡張ファイルとmodmanを追加し、リポジトリにプッシュしてから、を使用してプルする必要がありmodman cloneます。

最初に拡張機能を開発し、次にmodmanを使用してリポジトリに変更をプッシュする場合はどうしますか?


1
現時点では包括的な返信をすることはできませんが、通常は.modmanフォルダー内の内容を変更するべきではありません。これは良い出発点ですgithub.com/colinmollenhour/modman/wiki/Tutorial
Zifius 14

マッピングを管理する場所がわかりません。/ var / www / MagePsycho_Extensions / Someext / modman?はいの場合、変更をgithubにプッシュし、modman updateを使用してプルする必要がありますか?
MagePsycho 14

拡張機能を直接参照している理由がわかりません。リポジトリにある場合、そこから直接ダウンロードできます。
アランマクレガー14

拡張ルートリポジトリ内に、マッピングが定義されたmodmanファイルがあります。
アランマクレガー14

拡張機能を/ var / www / magento-dir /から別のリポジトリにプルしようとしていますか?
アランマクレガー14

回答:


7

最後に、modmanを使用してMagentoモジュールを管理する方法を見つけました(完璧な方法ではありませんが、私にとってはうまくいきます)

仮定

/var/www/magento-dir/ -> My Magento Installation Dir
/var/www/MagePsycho_Extensions/ --> Git Repo Dir
  1. cd /var/www/MagePsycho_Extensions/
  2. git clone git@github.com:magepsycho/Someext.git
  3. touch modman
  4. git commit -am 'Modman file added'
  5. git push origin master
  6. cd /var/www/magento-dir/
  7. modman init
  8. modman link /var/www/MagePsycho_Extensions/Someext
  9. 次のファイルを使用して、/ var / www / magento-dir / .modman / Someextで拡張機能「MagePsycho_Someext」を開発します。
    • app / etc / modules / MagePsycho_Someext.xml
    • app / code / local / MagePsycho / Someext / etc / config.xml
    • app / code / local / MagePsycho / Someext / Helper / Data.php

10 /var/www/magento-dir/.modman/Someext/modmanにファイルマッピング情報を

app/etc/modules/MagePsycho_Someext.xml  app/etc/modules/MagePsycho_Someext.xml
app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/etc/config.xml
app/code/local/MagePsycho/Someext/Helper/Data.php app/code/local/MagePsycho/Someext/Helper/Data.php

11 modman repair
12 cd /var/www/magento-dir/.modman/Someext
13 git add app/etc/modules/MagePsycho_Someext.xml app/code/local/MagePsycho/Someext/etc/config.xml app/code/local/MagePsycho/Someext/Helper/Data.php
14 git commit -m 'Extension files updated.'
15 git push origin master
16以上です。

要約すると、magento-dirにシンボリックリンクされているmagento-dir / .modman / Someextディレクトリで作業します。拡張機能に新しいファイルを追加するたびに、modmanファイルを更新して実行する必要があります。modman repairこれにより、シンボリックリンクが最新に保たれます。

誰かがより良いアプローチを持っている場合は、共有してください。


6

したがって、ここでの私のアドバイスは、とにかく拡張機能のローカルコピーがあり、それからではなくlinkand deployコマンドを使用することです。clone

あなたの場合、あなたは単に電話するでしょう:

  1. modman init
  2. modman link ../Your_Extension_Path (これが単一の拡張子である場合)
  3. modman deploy Your_Extension_Path

この方法では、ファイルマッピングを使用して拡張ディレクトリにmodmanファイルを完成させる必要がありますが、コメントからはすでにこれがあるようです。

私の理解では、ファイルは最初に拡張ディレクトリにある必要があり、その後、magentoディレクトリにリンクされるため、magentoの下のファイルを今後編集すると、拡張ファイルも変更されます。magentoディレクトリからmodman拡張機能を作成する方法があるかもしれませんが、残念ながら私はそれを知りません。

ファイルをMagentoから拡張機能ディレクトリにコピーする簡単な方法は、2つのウィンドウエクスプローラーを開いてウィンドウをコピーし、真夜中の司令官のようなものを使用することです。

注:phpバージョンではmodmanのみを使用しましたが、このプロセスはそのために機能します


/ var / www / MagePsycho_Extensions /には、Extension1、Extension2、異なるリポジトリがあります。それはあなたのアプローチを使用して違いを生みますか?
MagePsycho 14

ないように注意してくださいしかし、私は推測するあなただけのようなリンクには、2つのレベルが必要となり../MagePsycho_extenstion/Extension1、その後の展開のどちらかだろうMagePsycho_extenstion/Extension1か、Extension1私はそれをしようとせず確認していません。
デビッドマナーズ14

リンクとデプロ​​イのアプローチを実行した後、同じエラーが発生します。警告:ターゲットが存在しません(.modman / MagePsycho_Someext / modman):app / etc / modules / MagePsycho_Someext.xml app / etc / modules / MagePsycho_Someext.xml
MagePsycho

@MagePsychoと実際にあなたの拡張子にこのファイルがありますか?
デビッドマナーズ14

2
私の理解では、ファイルは最初に拡張ディレクトリにある必要があり、その後、magentoディレクトリにリンクされるため、magentoの下のファイルを今後編集すると、拡張ファイルも変更されます。magentoディレクトリからmodman拡張機能を作成する方法があるかもしれませんが、残念ながら私はそれを知りません。
デビッドマナー14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.