방금 직장에 macOS Catalina가 설치된 새 M1 Mac이 있는데 명령줄에서 R을 실행할 때(실제로는 Makefile에서 실행할 때) 문제가 있습니다. 나는 쉘을 처음 접했기 때문에 여기에 누락 된 것이있을 수 있습니다.
Makefile을 사용하여 R 프로젝트를 실행하고 싶습니다. 다운로드한 패키지를 사용하여 R 3.6을 설치했는데 R
터미널에 입력하면 실행되지만 R CMD BATCH scr.R
.
내가 아는 유일한 것은 다른 껍질을 사용하는 것 같다는 것입니다. 터미널은 zsh( )를 사용하지만 echo ${SHELL}
Makefile /bin/zsh
을 통해 실행하면 bash: > 를 /bin/sh
가리키는 을 사용합니다 .sh --version
GNU bash, version 3.2.57(1)-release ...
homebrew를 사용하여 R을 설치하려고 시도했지만 작동했지만 a) R 3.6을 원하고 homebrew에서 이전 버전을 얻는 것이 약간 골치 아프고 b) 패키지를 두 번 설치하고 싶지 않기 때문에 이상적인 솔루션이 아닙니다. .
/bin/sh
또한 을 가리키도록 심볼릭 링크를 변경해 보았지만 /bin/zsh
역시 작동하지 않았습니다.
SHELL := zsh
Makefile의 시작 부분에 추가하더라도 여전히 비슷한 오류가 발생합니다.zsh:1: command not found: R.
그래서 제 질문은 이렇습니다. 여기서 정확히 무슨 일이 일어나고 있는 걸까요? Make를 통해 명령을 호출할 때와 터미널을 사용할 때 다른 출력이 나타나는 이유는 무엇입니까? 이 문제를 어떻게 해결할 수 있나요?
감사해요.
추신: 언급하는 것을 잊었습니다. . .zshrc
그러나 Make로 실행되는 쉘은 이 구성 파일을 읽지 못하는 것 같습니다.
답변1
참고로 저는 PATH에 R 집 주소( 를 입력하여 찾으세요)를 추가하여 문제를 해결했습니다 R.home()
. R
이것은 작동합니다:
sudo echo "/Library/Frameworks/R.framework/Resources" >> /etc/paths