문제

다음과 같이 작곡가.json 파일이 없는 저장소를 설치할 수 있었습니다.

    {
        "type": "package",
        "package": {
            "name": "yahoo/yui-compressor",
            "version": "2.0.4",
            "dist": {
                "url": "http://yui.zenfs.com/releases/yuicompressor/yuicompressor-2.4.7.zip",
                "type": "zip"
            }
        }
    },

나는 "유형"을 선택했습니다.문서에서 "zip" 부분을 찾았지만 다른 유형은 많이 찾을 수 없었습니다.예를 들어 jQuery를 설치해야 하는데 어떤 유형을 입력해야 할지 모르겠습니다("js"가 작동하지 않음).

    {
        "type": "package",
        "package": {
            "name": "jquery/jquery",
            "version": "1.7.2",
            "dist": {
                "url": "http://code.jquery.com/jquery-1.7.2.js",
                "type": "js"
            }
        }
    }

어떤 아이디어가 있나요?

편집하다:전체를 추가하고 있어요 해결책 @CMCDragonkai를 돕기 위해:

    "require": {
        "vendorname/somefile": "1.2.3",
    },
    "repositories": [
        {
            "type": "package",
            "package": {
                "name": "vendorname/somefile",
                "version": "1.2.3",
                "dist": {
                    "url": "http://example.com/somefile.txt",
                    "type": "file"
                }
            }
        }
    ]
도움이 되었습니까?

해결책

이것은 단순히 누락 된 기능입니다.다운로드 할 단일 일반 텍스트 파일 만 있고 그대로 남은 단일 일반 텍스트 파일 인 새로운 유형의 DIST가있을 것입니다.GitHub 이슈 트래커에 기능 요청을 제출하십시오 : https://github.com/composer/composer/issues/

편집 :

feature 실제로 이지만 문서화되지 않았습니다.

"type": "file"
.

다른 팁

이미 설명한대로 해결책 중 하나는 자신의 리포지토리와 "type: ": "file" 저장소 정의 옵션을 정의하는 것입니다. 그러나 후속 문제는 당신이 원하는 곳에서 jQuery를 넣기 위해 작곡가를 얻는 것입니다. 그것이 서있는 것처럼, 작곡가는 vendor-dir (성가신이지만 아마 오토로우 요구 사항과 관련된 것)에서 종속 소스를 다운로드하는 것으로 제한되는 것으로 보인다. 이 제한에 대한 일반적인 수정은 그것을 극복하는 작곡가 플러그인을 작성하는 것입니다. 이것을 관리 할 수있는 몇 가지 플러그인 인 것 같습니다. 내가 발견 한 가장 간단한 가장 가벼운 솔루션은 비 PHP / Composer"자산을 관리하는 데 전념하는 PHP Composer Asset Manager . 그러나 플러그인이 작성자가 관리 / 검출되지 않는다는 변경 사항에서 적어도 하나의 제한이 있습니다. 여전히 사용 가능합니다.

여기에 해당 플러그인을 사용하여 jQuery를 설치하는 전체 composer.json입니다.

{
  "name": "foo/bar",
  "require":
  {
    "phpclasses/assets": "*",
     "jquery/jquery": "*"
  },
  "repositories": [
    {
     "type": "composer",
     "url": "http://www.phpclasses.org/"
    },
    {
      "type": "package",
      "package": {
        "name": "jquery/jquery",
        "version": "1.7.2",
        "type": "jquery",
        "dist": {
          "url": "http://code.jquery.com/jquery-1.7.2.js",
          "type": "file"
        }
      }
    }
  ],
  "extra": {
    "assets": {
      "actions": [
        {
          "type": "copy",
          "target": "webroot/js",
          "pattern": "\\.js$"
        }
      ],
      "packages": {
        "jquery/jquery": "*"
      }
    }
  }
}
.

NPM을 사용하여 jQuery를 설치하여

npm install jquery
.

https://www.npmjs.com/package/jquery

사용 npm, yarn 또는 WebPack Composer 대신에 그런 종류의 요구에 훨씬 더 좋습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top