어디서나 작곡가를 실행하는 방법?


79

방금 내 /usr/bin폴더에 composer를 설치 했으므로 해당 폴더에서 실행할 때 php composer.pharcomposer에 대한 도움말 정보를 얻습니다. 그러나 다른 폴더에서 똑같이 실행하려고하면 Could not open input file: composer.phar.

php composer.phar어디서나 문제없이 전화하는 방법 ?

답변:


55

composer.phar는 자체적으로 실행할 수 있으며 php. 이것은 문제를 해결할 것입니다 (bash의 $ PATH와 php의 include_path의 차이에 있음).


10
그냥 composer로 이름을 바꿀 수도 있고 간단하게 할 수 있습니다 composer install.
Seldaek

내 composer.phar가 설치됩니다. (나는 php composer.phar를 사용하여 Chekced) 그러나, 나는 위치를 얻지 못한다. composer.phar 위치의 경로를 찾는 방법은 무엇입니까? UBUNTU를 사용하고 있습니다.
Nana Partykar 2015 년

를 실행할 수 있다면 php composer.phar아마도 현재 디렉토리에있을 것입니다.
Maerlyn 2015 년

25
composer.phar에 대한 글로벌 액세스를 원한다고 생각합니다. 그것을 이동하고 별칭을합니다 sudo mv composer.phar /usr/local/bin/다음 alias composer='/usr/local/bin/composer.phar'.
Stéphane

나는 sudo mv composer.phar /usr/local/bin/composer. 그 후에는 composer install어디에서나 사용할 수 있습니다 .
Markus Zeller

111

전역 설치를 수행 할 수 있습니다 ( 아카이브 된 안내서 ) :

Composer는 현재 작업 디렉토리에서 작동하기 때문에 시스템 전체에 설치할 수 있습니다.

  1. 경로의 디렉토리로 변경하십시오. cd /usr/local/bin
  2. Composer 받기 curl -sS https://getcomposer.org/installer | php
  3. phar를 실행 가능하게 만들기 chmod a+x composer.phar
  4. 프로젝트 디렉토리로 변경 cd /path/to/my/project
  5. 평소처럼 Composer 사용 composer.phar install
  6. 필요에 따라의 이름 변경하여 쉽게 할 수 있습니다.composer.phar composer

업데이트 : 때때로 다운로드 할 수 없거나 다운로드하고 싶지 않습니다 /usr/local/bin(일부는 사용자 권한 문제 또는 제한된 액세스를 경험 한 경우).

  1. 터미널 열기
  2. curl -sS http://getcomposer.org/installer | php -- --filename=composer
  3. chmod a+x composer
  4. sudo mv composer /usr/local/bin/composer

업데이트 2 : Windows 10 및 PHP 7의 경우이 자습서를 권장 합니다 . 개인적으로 PHP 7.3 VC15 x64 Non Thread Safe 버전 이전 에 Visual Studio 2017 x64 용 Visual C ++ 재배포 가능 패키지 를 설치했습니다 (Windows 용 PHP 페이지, 사이드 메뉴 에서 두 버전 모두 확인 ). 주의 깊게 읽으시면 enable-extensions 섹션이 다를 수 있습니다 ( extension=curl대신 extension=php_curl.dll). 부적, 행운처럼 작동합니다!


3
그들은 파일 이름을 바꿀 필요가 없다는 것을 언급하지 않습니다 composer.
Andrew Atkinson 2015 년

2
@AndrewAtkinson는 또는 당신과 함께 다운로드하기 전에 이름을 바꿀 수 있습니다curl -sS https://getcomposer.org/installer | php -- --filename=composer
quantme

감사합니다. 기본 논리를 이해하는 데 어려움을 겪었으며 getcomposer.org 자체는이를 설명하는 데 그다지 좋은 일을하지 못합니다. 감사합니다! 나는 그것을 작동시켰다.
Trace DeCoy

28

터미널을 통해 어디서나 (MacOS X에서) Composer를 실행하는 방법

배경:

실제로 getComposer 웹 사이트에는 다음 curl 명령을 사용하여 Composer를 설치한다고 명시되어 있습니다.

curl -sS https://getcomposer.org/installer |php

그리고 그것은 확실히 의도 된 바를 수행합니다. 그런 다음 composer.phar/ usr / local / bin / composer 디렉토리 로 이동하면 터미널에서 다음 명령 줄을 사용하여 composer를 전역 적으로 사용할 수 있습니다!

mv composer.phar /usr/local/bin/composer

질문:

그래서 저를 Google로 이끄는 문제는 Mac OS X Terminal에서 위의 줄을 실행했을 때 Permission denied라고 말했습니다. 다음과 같이 :

mv: rename composer.phar to /usr/local/bin/composer: Permission denied

대답:

링크를 따라 가면 매력과 같은 해결책을 찾았고 그것에 감사합니다. 내가 방금 놓친 것은 위에서 언급 한 "Move"명령 줄 앞에있는 sudo 명령 이었습니다 . 이제 내 이동 명령은 다음과 같습니다.

sudo mv composer.phar /usr/local/bin/composer
Password:

자신을 인증하고 권한이 있는지 확인하라는 메시지가 직접 표시됩니다. 따라서 유효한 암호를 입력하면 이동이 완료되고 다음 줄을 사용하여 composer가 전역 적으로 설치되어 있는지 확인할 수 있습니다.

composer about

이 답변이 귀하의 시야를 넓히고 마침내 문제를 해결하는 데 도움이 되었기를 바랍니다.

건배!


1
> 그리고 나서 composer.phar를 디렉토리 / usr / local / bin / composer /usr/local/bin/composer는 디렉토리가 아닙니다. 그 composer.phar전에 호출 될 파일의 ​​새 이름 입니다.
XedinUnknown

1
macOS Sierra에서 나를 위해 일했습니다.
Vahid Amiri

17

먼저 composer 설치 문서에 언급 된대로 composer를 설치합니다 . 참조를 위해 여기에 추가했습니다.

curl -sS https://getcomposer.org/installer | php

그런 다음 파일을 '/ usr / local / bin'으로 이동하십시오.

sudo mv composer.phar /usr/local/bin/composer

실행 해보십시오 composer -V. Composer version버전 번호 와 같은 출력이 표시 되면 작성기가 성공적으로 설치된 것입니다.

composer: command not foundmeans 와 같은 출력을 얻으면 다음 명령을 사용하여 작곡가의 별칭을 만듭니다. 따라서 전 세계적으로 실행됩니다.

alias composer='/usr/local/bin/composer'

이제 실행 하면 버전 번호 composer -V와 함께 출력이 표시됩니다 Composer Version.

이것이 누군가를 도울 수 있기를 바랍니다.


7

composer를 전역으로 설치하려면이 명령을 실행하기 만하면됩니다.

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

이것은 sudoer 암호를 묻는 문제를 해결합니다. 감사합니다
MadzQuestioning

6

/usr/local/bin폴더 로 이동 하고 확장자를 제거하십시오.

sudo mv composer.phar /usr/local/bin/composer

그냥 내가 필요한 무엇, 감사합니다
바비 도끼

2

MAC 및 LINUX의 경우 다음 절차를 사용하십시오.

composer.phar가있는 디렉토리를 PATH에 추가하십시오.

export PATH=$PATH:/yourdirectory

그런 다음 composer.phar의 이름을 composer로 바꿉니다.

mv composer.phar composer

1

다른 위치에서 실행하려면 프로그램과 함께 제공되는 작곡가 프로그램을 사용할 수 있습니다. 기본적으로 bash 스크립트입니다. 없는 경우 다음 코드를 텍스트 파일에 복사하여 만들 수 있습니다.

#!/bin/sh

dir=$(d=$(dirname "$0"); cd "$d" && pwd)

if command -v 'cygpath' >/dev/null 2>&1; then
  dir=$(cygpath -m $dir);
fi

dir=$(echo $dir | sed 's/ /\ /g')
php "${dir}/composer.phar" $*

그런 다음 bin 폴더에 파일을 저장하고 파일 확장자없이 composer라는 이름을 지정합니다. 그런 다음 환경 변수 f에 bin 폴더를 추가하십시오.


1

간단한 전역 설치를 수행하여 어디서나 실행할 수 있습니다.

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

https://getcomposer.org/doc/00-intro.md#globally의 웹 사이트는이 방법을 권장합니다. Ubuntu 14.04에서 잘 작동했습니다. 당신이이 방법을 예제로 수행 할 필요가 없습니다 php compomser.phar show그냥 할, composer show어떤 디렉토리에 당신이 노력하고 있습니다.


0

이 중 일부는 서버가 실행중인 OS 때문일 수 있습니다. 최근에 Ubuntu를 실행하는 새로운 호스팅 환경으로 마이그레이션했습니다. 이 별칭 alias composer="/path/to/your/composer"을 .bashrc 또는 .bash_aliases에 추가하는 것은 두 가지 이유로 처음에는 작동하지 않았습니다.

서버는 기본적으로 bash가 아닌 csh를 실행했습니다. 귀하의 경우에 이것이 문제인지 확인하려면을 실행하십시오 echo $0. 반환되는 것이 있다면 Composer가 실행하는 일부 프로세스가 csh / tcsh 사용하여 실패하기 때문에-csh bash로 변경하고 싶을 입니다.

변경하려면 먼저를 실행하여 서버에서 bash를 사용할 수 있는지 확인하십시오 cat /etc/shells. 반환 된 목록에이 표시 bin/bash되면을 실행하여 기본값을 bash로 변경할 수 있습니다 chsh -s /bin/csh.

이제이 시점에서 Composer를 실행할 수 있어야하지만 일반적으로 Ubuntu에서는 source ~/.bashrc또는 을 실행하여 Bash 스크립트를 소싱하여 모든 세션에서 스크립트를로드해야합니다 source ~/.bash_profile. 대부분의 경우 Ubuntu는 .profile기본 스크립트로 로드되기 때문에 Bash 스크립트를로드하지 않기 때문 입니다.

세션을 열 때 Bash 스크립트를로드하려면이를 .profile에 추가해보십시오 (Bash 스크립트가 .bashrc 인 경우, .bash_profile 또는 기타 경우 적절하게 수정).

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

테스트하려면 세션을 닫고 다시로드하십시오. 제대로 작동하는 경우 실행 중이 composer -v거나 which composer예상대로 작동해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.