PHP

phpstorm에서 rector를 사용하려고 하는데 문제가 있습니다.

by 이온디 posted Mar 26, 2024
?

Shortcut

PrevPrev Article

NextNext Article

ESCClose

Larger Font Smaller Font Up Down Go comment Print
Extra Form

1. phpstorm을 사용 중입니다.

 

2. 맥에서 mamp를 사용하고 있습니다.

 

3. 터미널의 PATH 환경 변수에 추가해줬습니다. (참고)

phpstorm 실행 후 프로젝트 터미널에서 php -v 명령어를 입력하면 버전 정보 확인 가능합니다.

 

4. composer를 설치했습니다. (참고)

phpstorm 실행 후 프로젝트 터미널에서 composer 명령어를 입력하면 composer 정보 확인 가능합니다.

% composer --version
Composer version 2.7.2 2024-03-11 17:12:18
PHP version 8.2.0 (/Applications/MAMP/bin/php/php8.2.0/bin/php)
Run the "diagnose" command to get more detailed diagnostics output.

5. 현재 프로젝트에 composer를 이용해서 rector를 설치했습니다. (참고)

composer require rector/rector --dev

composer.json 파일이 루트에 생성되었습니다.

{ "require-dev": { "rector/rector": "*" } }

 

6. 혹시나 몰라 phpstorm에서 php 설정이나 composer 설정도 확인을 했습니다. (참고)

composer 실행 경로도 정상적입니다.

루트에 생성된 composer.json 파일은 phpstorm 이 실행되면 자동으로 인식되기도 하고, 따로 추가해주기도 했습니다.

 

7. 생성된 composer.json 상단에 Install 버튼을 실행해주면.. 

install --no-interaction  

env: php: No such file or directory  

Failed to install packages for ./rx/composer.json.

이런 오류가 Composer Log 탭에 출력됩니다.

맥에서 직접 PHP를 설치해준 것은 아니지만 MAMP의 PHP 파일을 실행하고 있습니다.

그래서 3번 과정에서 PATH에 환경변수도 추가해주었기 때문에

터미널에서나 phpstorm에서나 php -v 명령어를 입력하면 php 정보를 확인할 수 있습니다.

 

아직 rector.php 파일 생성 후 설정도 못했는데 여기서 막히네요. rector 사용해보기도 전에 설정 부터가 막막하군요.

MAMP 대신 맥에서 바로 PHP 설치 후 실행해줬다면 이런 과정 없이 좀 더 수월했을 성 싶지만;;;

아마 composer 에서 php 경로를 못 찾아서 그런 거 같은데요,

 

일반적으로 Composer는 시스템의 PATH를 사용하여 PHP를 찾습니다. 따라서 PHP 경로를 별도로 Composer에 설정해주는 기능은 없습니다. 대신에 Composer는 시스템의 PHP 실행 파일을 사용하여 PHP 코드를 실행하고 Composer 자체적으로 PHP 경로를 지정하는 옵션은 제공하지 않습니다.

따라서 PHP 경로를 추가하려면 Composer를 실행하는 쉘 환경에서 PATH에 PHP 경로를 추가해야 합니다. 이를 위해 macOS에서는 보통 .bash_profile, .bashrc, 또는 .zshrc와 같은 쉘 설정 파일에 PHP 경로를 추가하여야 합니다. 해당 파일에 PHP 경로를 추가한 후에는 해당 쉘을 다시 실행하거나 source 명령어를 사용하여 설정 파일을 다시 로드해야 합니다.

만약 PHP 경로를 설정해줘도 여전히 Composer가 PHP를 찾지 못하는 경우, 환경 설정이나 권한 문제일 수 있으므로 해당 문제를 해결해야 합니다.

 

 7번 문제 해결함..

/Users/eond/.zshrc

이 파일 수정함.

export ANDROID_HOME=/Users/eond/Library/Android/sdk

export PATH=$PATH:$ANDROID_HOME/emulator

export PATH=$PATH:$ANDROID_HOME/tools

#export PATH=$PATH:$ANDROID_HOME/tools/bin

export PATH=$PATH:$ANDROID_HOME/platform-tools

export PATH="$PATH:/Users/eond/development/flutter/bin"


#eond edit 20220831

export NVM_DIR=~/.nvm

source $(brew --prefix nvm)/nvm.sh

export PATH="$PATH:/Applications/MAMP/bin/php/php8.2.0/bin"

그리고, 적용하니 정상적으로 phpstorm에서 composer 로 설치가 완료됨. (참고)


8번. 이제 rector.php 설정..


 

Who's 이온디

profile

라이믹스는 이온디와 함께



Articles