OctoberCMS에 Composer에서 비 Composer 지원 플러그인 설치
6678 단어 ComposeOctoberCMSPHP라라벨CMS
개요
아래에 해당하는 OctoberCMS 플러그인은 그대로 Composer에서 제대로 설치할 수 없으므로 대처가 필요하다.
Packagist에 등록되지 않음
내 프로젝트 (또는 내 플러그인)의 composer.json에서 소스를 가져올 위치를 지정하고 플러그인이 정의해야하는 정보를 대신 정의하면 Composer에서 설치 및 관리하는 것 수 있습니다.
취득 장소 지정
프로젝트 또는 플러그인의 composer.json에
repositories
를 정의하여 소스 코드를 가져올 위치를 지정합니다. 이것에 의해 Packagsit에 등록되어 있지 않아도 다운로드할 수 있게 된다.{
...
"require": {
...
"simplicitylab/blogfeaturedvideo": "dev-master",
...
},
"repositories": [
...
{
"url": "https://github.com/simplicitylab/blogfeaturedvideo",
"type": "git",
},
...
이제
composer update
그러면 GitHub의 master 브랜치에서 소스를 가져옵니다. 그러나 이것이라면 vendor 디렉토리에 설치되어 플러그인으로는 인식되지 않습니다.플러그인으로 인식
플러그인으로 인식하게 하려면, 자신의 composer.json으로 대신에 그 플러그인의 정보를 정의해 준다. 여기의 예라면, 최종적으로는 아래와 같이 하면, 플러그인 디렉토리에 인스톨되어 컴포넌트 년이나 모델 등이 인식되게 된다.
{
...
"require": {
...
"simplicitylab/oc-blogfeaturedvideo-plugin": "dev-master",
...
},
"repositories": [
...
{
"type": "package",
"package": {
"name": "simplicitylab/oc-blogfeaturedvideo-plugin",
"type": "october-plugin",
"version": "dev-master",
"source": {
"url": "https://github.com/simplicitylab/blogfeaturedvideo",
"type": "git",
"reference": "master"
}
}
},
...
대체로 보면 알겠지만,
"type": "october-plugin"
를 지정하는 것으로 적절하게 플러그인 디렉토리에 인스톨 해 준다.그리고 주의해야 할 것은
name
로, 네임스페이스와 관련된 디렉토리 구성을 결정하는 것이므로, 네임스페이스를 확인해 결정할 필요가 있다.이 플러그인의 경우 소스 코드를 보면 네임 스페이스는 다음과 같습니다.
namespace Simplicitylab\BlogFeaturedVideo;
따라서 디렉토리 구성은
plugins/simplicitylab/blogfeaturedvideo
이어야합니다.따라서 작자명은
simplicitylab
. 또한, 플러그인명은 OctoberCMS의 네이밍 규약으로부터 oc-
접두사와 -plugin
포스트픽스를 붙인다.따라서 패키지 이름은
simplicitylab/oc-blogfeaturedvideo-plugin
입니다. 모두 소문자. 이것을 위와 같이 name
와 require
의 곳에 기술한다.이 플러그인은 비교적 그대로의 패키지명이 되었지만, 일부는 GitHub상의 리포지토리명이 패키지명과 크게 다른 경우도 있다.
소스 코드에 composer.json이 포함된 경우
대신 패키지 정의를 해 주면 원래 있던 composer.json이 읽히지 않는 것 같다.
즉, 원래 있던 composer.json에 종속 패키지가 정의되어 있었던 경우는, 이것들을 작성한 대신의 패키지 정의에 전기해 줄 필요가 있다. 작성한 패키지 정의의
package
안에 require
를 전기한다.Class not found가 되는 경우
파일이 존재하고 있는데, 클래스를 찾을 수 없다는 에러가 발생했을 경우, 재차, 이전의 순서로 마음대로 결정한 작자명과 패키지명이 모두 소문자가 되어 있는지 확인한다.
작자명과 패키지명 작자명과 패키지명이 캬멜 케이스 등으로 되어 있으면, 이와 같은 에러가 발생하는 것 같다.
Reference
이 문제에 관하여(OctoberCMS에 Composer에서 비 Composer 지원 플러그인 설치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/pikanji/items/223c1b80575019404196텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)