วิธีการใช้ modman สำหรับจัดการโมดูลใน github?


12

ฉันกำลังพยายามใช้modman( https://github.com/colinmollenhour/modman ) เพื่อจัดการส่วนขยายของฉันใน github

ก่อนอื่นฉันพยายามเพิ่ม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. พัฒนาส่วนขยาย 'MagePsycho_Someext' ใน / var / www / magento-dir ด้วยไฟล์ต่อไปนี้
    • app / etc / โมดูล / MagePsycho_Someext.xml
    • app / รหัส / ท้องถิ่น / MagePsycho / Someext / etc / config.xml
    • app / รหัส / ท้องถิ่น / MagePsycho / Someext / ผู้ช่วย / Data.php

10 เพิ่มข้อมูลการแมปไฟล์ใน /var/www/magento-dir/.modman/Someext/modman as

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/ฉันกำลังพัฒนาส่วนขยายใน และต้องการปรับใช้ส่วนขยายเหล่านี้ (หนึ่งต่อที่เก็บ) ใน github โดยใช้ modman เมื่อฉันเสร็จสิ้นการพัฒนาโมดูลฉันต้องการเพิ่มไฟล์เหล่านั้นในที่เก็บ สำหรับสิ่งที่ฉันได้ใช้ไฟล์. modman / * / modman เพื่อทำแผนที่ แต่ไม่สามารถใช้งานได้

ฉันหายไปที่ไหนและอะไร
หรือนี่เป็นวิธีที่ไม่ถูกต้องหรือไม่?

[แก้ไข]

ฉันเพิ่งตระหนักว่าแนวทางของฉันตรงกันข้าม ครั้งแรกที่คุณจะต้องเพิ่มไฟล์นามสกุลและ modman กับแมปเส้นทางผลักดันให้ repo modman cloneแล้วดึงมันใช้

คุณจะทำอย่างไรถ้าคุณพัฒนาส่วนขยายก่อนจากนั้นใช้ modman เพื่อผลักดันการเปลี่ยนแปลงไปยัง repo


1
ไม่สามารถให้คำตอบที่ครอบคลุมในขณะนี้ แต่โดยทั่วไปคุณไม่ควรแก้ไขเนื้อหาในโฟลเดอร์. modman นี่คือจุดเริ่มต้นที่ดีgithub.com/colinmollenhour/modman/wiki/Tutorial
Zifius

ฉันไม่แน่ใจว่าจะจัดการการแมปได้ที่ไหน ใน / var / www / MagePsycho_Extensions / Someext / modman? ถ้าใช่แล้วจะต้องผลักดันการเปลี่ยนแปลงไปยัง GitHub และดึงมันโดยใช้ modman update?
MagePsycho

ฉันไม่เข้าใจว่าทำไมคุณถึงอ้างอิงส่วนขยายโดยตรงหากอยู่ใน repo คุณสามารถดาวน์โหลดได้โดยตรงจากที่นั่น
Allan MacGregor

ภายใน repo รูทส่วนขยายของคุณควรมีไฟล์ modman ที่มีการแมปที่กำหนดไว้
Allan MacGregor

คุณกำลังพยายามดึงส่วนขยายจาก / var / www / magento-dir / ไปยัง repo แยกกันหรือไม่
Allan MacGregor

คำตอบ:


7

ในที่สุดฉันก็พบวิธีจัดการโมดูล Magento โดยใช้ modman (ไม่ใช่วิธีที่สมบูรณ์แบบ แต่ใช้ได้สำหรับฉัน)

สมมติฐาน

/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. ตอนนี้พัฒนาส่วนขยาย 'MagePsycho_Someext' ใน /var/www/magento-dir/.modman/Someext ด้วยไฟล์ต่อไปนี้
    • app / etc / โมดูล / MagePsycho_Someext.xml
    • app / รหัส / ท้องถิ่น / MagePsycho / Someext / etc / config.xml
    • app / รหัส / ท้องถิ่น / MagePsycho / Someext / ผู้ช่วย / Data.php

10 เพิ่มข้อมูลการแมปไฟล์ใน /var/www/magento-dir/.modman/Someext/modman as

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 / .modman / Someext ซึ่งเชื่อมโยงกับ magento-dir เมื่อใดก็ตามที่คุณเพิ่มไฟล์ใหม่ในส่วนขยายของคุณคุณจะต้องอัปเดตไฟล์ modman และเรียกใช้modman repairซึ่งทำให้ symlink เป็นปัจจุบันอยู่เสมอ

หากใครมีวิธีการที่ดีกว่าโปรดแชร์


6

ดังนั้นคำแนะนำของฉันที่นี่คือเนื่องจากคุณมีสำเนาส่วนขยายในเครื่องอยู่แล้วให้ใช้คำสั่งlinkและdeployคำสั่งแทนclone

ในกรณีของคุณคุณเพียงโทร:

  1. modman init
  2. modman link ../Your_Extension_Path (หากนี่เป็นส่วนขยายเดียว)
  3. modman deploy Your_Extension_Path

วิธีนี้ต้องการให้คุณมีไฟล์ modman ในไดเรกทอรีส่วนขยายของคุณด้วยการแมปไฟล์ แต่จากความคิดเห็นของคุณมันปรากฏว่าคุณมีสิ่งนี้อยู่แล้ว

จากความเข้าใจของฉันไฟล์จะต้องอยู่ในนามสกุล dir ก่อนจากนั้นพวกเขาจะเชื่อมโยงเข้ากับวีโอไอพีดี๊ดังนั้นเมื่อคุณทำการแก้ไขไฟล์ในอนาคตภายใต้คุณภาพเยี่ยมไฟล์นามสกุลก็เปลี่ยนไปเช่นกัน อาจมีวิธีสร้างส่วนขยาย modman จากไดเรกทอรีวีโอไอพี แต่น่าเศร้าที่ฉันไม่รู้

วิธีง่าย ๆ ในการจัดการไฟล์จาก Magento ไปยังส่วนขยาย dir คือเปิดหน้าต่าง explorer สองอันสำหรับ windows และคัดลอกมันข้ามหรือใช้บางอย่างเช่นผู้บัญชาการเที่ยงคืน

หมายเหตุ: ฉันใช้ modman สำหรับรุ่น php เท่านั้น แต่กระบวนการนี้ใช้งานได้


/ var / www / MagePsycho_Extensions / จะมีส่วนขยายเพิ่มเติมว่า: Extension1, Extension2 พร้อมที่เก็บที่แตกต่างกัน มันจะสร้างความแตกต่างโดยใช้แนวทางของคุณหรือไม่?
MagePsycho

ไม่แน่ใจ แต่ฉันเดาว่าคุณจะต้องมีสองระดับในการเชื่อมโยงเช่น../MagePsycho_extenstion/Extension1นั้นจากนั้นปรับใช้อาจเป็นMagePsycho_extenstion/Extension1หรือExtension1ฉันไม่แน่ใจถ้าไม่ลองใช้
มารยาทของเดวิด

หลังจากทำตามการเชื่อมโยงและวิธีการปรับใช้ของคุณจะช่วยให้คำเตือนข้อผิดพลาดเดียวกัน: กำหนดเป้าหมายไม่ได้อยู่ (.modman / MagePsycho_Someext / modman): app / etc / modules / MagePsycho_Someext.xml app / etc / โมดูล / MagePsycho_Someext.xml
MagePsycho

@MagePsycho และคุณมีไฟล์นี้ในส่วนขยายของคุณหรือไม่
มารยาทของเดวิด

2
จากความเข้าใจของฉันไฟล์จะต้องอยู่ในนามสกุล dir ก่อนจากนั้นพวกเขาจะเชื่อมโยงเข้ากับวีโอไอพีดี๊ดังนั้นเมื่อคุณทำการแก้ไขไฟล์ในอนาคตภายใต้คุณภาพเยี่ยมไฟล์นามสกุลก็เปลี่ยนไปเช่นกัน อาจมีวิธีสร้างส่วนขยาย modman จากไดเรกทอรีวีโอไอพี แต่น่าเศร้าที่ฉันไม่รู้
มารยาทของเดวิด
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.