2016-07-05 27 views
7

Tôi sẽ giới thiệu tóm tắt:Xung đột phụ thuộc của TYPO3 Composer

Tôi đã cài đặt TYPO3 với trình soạn nhạc.

Chúng ta hãy xem phần yêu cầu từ TYPO3.

"require": { 
    "php": ">=5.5.0", 
    "ext-fileinfo": "*", 
    "ext-json": "*", 
    "ext-pcre": "*", 
    "ext-session": "*", 
    "ext-xml": "*", 
    "psr/log": "1.0.*@dev", 
    "pear/http_request2": "~2.2.1", 
    "swiftmailer/swiftmailer": "~5.4.1", 
    "symfony/console": "~2.7.0", 
    "symfony/finder": "~2.7.0", 
    "doctrine/instantiator": "~1.0.4", 
    "typo3/class-alias-loader": "^1.0", 
    "typo3/cms-composer-installers": "^1.2.8", 
    "psr/http-message": "~1.0", 
    "cogpowered/finediff": "~0.3.1", 
    "mso/idna-convert": "^0.9.1" 
} 

Như bạn thấy Typo3 cần "symfony/console": "~ 2.7.0" do đó có nghĩa: (> = 2,7 < = 2,8)

Next để nó tôi chạy một CakePHP với plugin di chuyển cho phần CakePHP tùy chỉnh.

Hãy có một cái nhìn tại đòi hỏi một phần từ các plugin chuyển đổi cơ sở dữ liệu cũng như:

"require": { 
    "php": ">=5.4", 
    "robmorgan/phinx": "0.5.3", 
    "cakephp/cakephp": "~3.1" 
}, 

Không có gì sai ở đây trên cái nhìn đầu tiên, nhưng chúng ta hãy đi vào chi tiết và có một cái nhìn sâu hơn về "robmorgan/phinx ":" 0,5.3 ". Plugin này cần các gói sau và chúng ta hãy xem xét kỹ hơn về composer.json từ "phinx".

"require": { 
    "php": ">=5.4", 
    "symfony/console": "~2.8|~3.0", 
    "symfony/config": "~2.8|~3.0", 
    "symfony/yaml": "~2.8|~3.0" 
} 

Và bây giờ là bạn có thể nhìn thấy gói này cần "symfony/console" ít nhất là trong 2.8, nhưng nó không hoạt động vì Typo3 cần nó trong "~ 2.7.0" có nghĩa là: (> = 2,7 < = 2.8).

Tôi đã tìm ra vấn đề, nhưng tôi không biết cách giải quyết vấn đề. Tôi chỉ có một giải pháp nhưng nó không phải là tuyệt vời, đó là Typo3 forking và chỉnh sửa composer.json. Nhưng đó là lựa chọn cuối cùng.

Có ai khác có cách tiếp cận tốt về cách sửa lỗi này không?

+1

'Bên cạnh đó tôi chạy CakePHP' Tại sao các dự án typo3 và CakePHP của bạn trong cùng một repo - hoặc bạn có ý nghĩa gì đó khác (vui lòng chỉnh sửa câu hỏi để làm rõ" bên cạnh "có nghĩa là gì)? Bạn đang tích cực sử dụng di chuyển? – AD7six

+0

Có, tôi sử dụng các hoạt động di chuyển hiện tại vì các tệp kết xuất mysql không phải là phương pháp hay nhất để quản lý cơ sở dữ liệu trên tất cả các nhà phát triển và các máy chủ dev/live. – TatzyXY

+0

Câu trả lời ngắn gọn là: TYPO3 ở phía trước ứng dụng/trang web, nhưng khách hàng cũng muốn có một phần tùy chỉnh lớn, vì vậy tôi bắt đầu viết mã TYPO3-Extension sau khi tôi thấy hiệu quả và khó mã hóa TYPO3 -Extension là, tôi quyết định tải CakePHP 3.0 vào một TYPO3-Extension, nó là một chút công việc nhưng nó hoạt động ngay bây giờ. Bây giờ tôi có thể sử dụng toàn bộ sức mạnh của Cake chẳng hạn như Cake-Controllers/Tables/Entities/Views để viết một TYPO-Extension. Trên TYPO3-Extension tôi có đối tượng CakeRequest và trả lại kết quả được tạo ra đầy đủ từ Cake dưới dạng chuỗi. Bánh được cài đặt làm Nhà cung cấp của TYPO3. – TatzyXY

Trả lời

1

Bạn có thể sử dụng phiên bản 8.x của TYPO3. Phiên bản này sử dụng theo yêu cầu "symfony/console": ">=2.7 <3.1", trông hoàn toàn tốt đẹp.

8.x rất ổn định, bạn có thể sử dụng học thuyết khắp nơi và đó là tương lai.

Các vấn đề liên quan