Composer 설치 경로를 지정하는 방법
정의는 다음과 같습니다.
{
"repositories": [
{
"type": "package",
"package": {
"name": "symfony/sfGuardPlugin",
"version": "4.0.2",
"dist": {
"url": "http://plugins.symfony-project.org/get/sfGuardPlugin/sfGuardPlugin-4.0.2.tgz",
"type": "tar"
}
}
}
],
"require": {
"symfony/sfGuardPlugin": "4.0.*"
}
}
Symfony 1을 사용하고 있는데 설치하려고 합니다.plugins/sfGuardPlugin/
이걸 어떻게 지정하죠?
정의 가능한 것 같습니다.vendor
dir는 다른 무엇인가가 될 것이다.plugins
고객님의 경우) :
{
"config": {
"vendor-dir": "plugins"
}
}
그런 다음 패키지 이름에 다음과 같이 레벨 dir가 포함되지 않도록 이름을 변경할 수 있습니다.
"package": {
"name": "sfGuardPlugin",
그래서, 당신의composer.json
는 다음과 같습니다.
{
"config": {
"vendor-dir": "plugins"
},
"repositories": [
{
"type": "package",
"package": {
"name": "sfGuardPlugin",
"version": "4.0.2",
"dist": {
"url": "http://plugins.symfony-project.org/get/sfGuardPlugin/sfGuardPlugin-4.0.2.tgz",
"type": "tar"
}
}
}
],
"require": {
"sfGuardPlugin": "4.0.*"
}
}
편집
이 구성을 사용하면 다음과 같은 경로를 얻을 수 있습니다(물론 symfony에는 적합하지 않습니다).
플러그인/sfGuardPlugin/sfGuardPlugin-4.0.2/
이것으로 해결 방법을 찾았습니다.composer.json
:
{
"config": {
"vendor-dir": "plugins"
},
"repositories": [
{
"type": "package",
"package": {
"name": "sfGuardPlugin",
"version": "4.0.2",
"source": {
"url": "http://svn.symfony-project.com/plugins/sfGuardPlugin/",
"type": "svn",
"reference": "branches/1.3/"
}
}
}
],
"require": {
"sfGuardPlugin": "4.0.*"
}
}
또한 "symfony1-plugin" 패키지 유형을 가진 다중 프레임워크 Composer 라이브러리 설치 프로그램인 Composer/installer를 사용할 수도 있습니다.Symfony 1.4(lib/vendor)와 플러그인을 모두 설치하기 위한 composer.json 파일은 다음과 같습니다.
{
"config": {
"vendor-dir": "lib/vendor"
},
"repositories": {
"symfony": {
"type": "package",
"package": {
"name": "symfony/symfony1",
"version": "1.4",
"dist": {
"url": "https://github.com/symfony/symfony1/zipball/1.4",
"type": "zip"
}
}
},
"sfResquePlugin" : {
"type": "package",
"package": {
"name": "devpips/sfResquePlugin",
"type": "symfony1-plugin",
"version": "0.1",
"dist": {
"url": "https://github.com/devpips/sfResquePlugin/zipball/master",
"type": "zip"
}
}
}
},
"require": {
"composer/installers": "dev-master",
"symfony/symfony1": "1.4",
"devpips/sfResquePlugin":"0.1"
}
}
환경변수를 참조해 주세요.
이 변수를 설정하면 Composer가 종속성을 벤더 이외의 디렉토리에 설치하도록 할 수 있습니다.
vagrant 또는 도커와 같이 공유 폴더/볼륨에 저장되지 않는 특정 환경에서 이 기능을 재정의할 경우 유용합니다.
그리고 J0k가 말했듯이config
의 단면composer.json
기본값은 벤더입니다.필요에 따라서, 종속성을 다른 디렉토리에 인스톨 할 수 있습니다.$HOME 및 ~는 홈 디렉토리의 경로(vendor-dir)와 아래의 모든 *-dir 옵션으로 대체됩니다.
언급URL : https://stackoverflow.com/questions/11883374/how-to-specify-composer-install-path
'programing' 카테고리의 다른 글
Active Directory를 통해 LDAP를 사용하여 PHP 인증 (0) | 2022.10.18 |
---|---|
포어치 루프 내의 반복 횟수 (0) | 2022.10.18 |
Python 3.3+ 패키지에는 __init_.py가 필요하지 않습니까? (0) | 2022.10.18 |
GeoLocation 유형의 폐쇄 인스턴스를 사용하여 할당을 한정해야 합니다. (0) | 2022.10.18 |
별도의 CREATE TABLE 없이 SELECT 문에 임시 테이블을 만듭니다. (0) | 2022.10.18 |