패키지 R 바이너리 및 라이브러리 (설치없이)를 사용하여 AWS EC2 인스턴스의 명령 줄에서 R 스크립트를 실행하려고합니다. AWS Lambda에 배치. 나는 these instructions을 따라 갔다. 지시 사항은 모든 R 바이너리와 라이브러리를 zip 파일로 패키징하고 테스트를 위해 모든 것을 Amazon EC2 인스턴스로 이동하는 것입니다. 나는 새 컴퓨터에있는 모든 압축을 푼 컴퓨터에 'sudo는 냠 업데이 트를'실행, 적절한 위치를 가리 키도록 R의 환경 변수를 설정 :Rscript가 AWS Lambda 용 패키지 R과 함께 작동하지 않습니다.
export R_HOME=$HOME
export LD_LIBRARY_PATH=$HOME/lib
참고 : $ 홈입니다/홈/EC2 사용자에게 동일한 .
나는 시험이 hello_world.R 파일 생성 :#!/home/ec2-user/bin/Rscript
print ("Hello World!")
을하지만 실행할 때이 :
ec2-user$ Rscript hello_world.R
나는 다음과 같은 오류 있어요 :
Rscript execution error: No such file or directory
그래서 내가 확인을 경로는 있지만 모두 체크 아웃 :
ec2-user$ whereis Rscript
Rscript: /home/ec2-user/bin/Rscript
ec2-user$ whereis R
R: /home/ec2-user/bin/R /home/ec2-user/R
하지만 명령 줄에서 RSCRIPT를 사용하여 식을 평가하려고 할 때, 나는이있어 :
ec2-user$ Rscript -e "" --verbose
running
'/usr/lib64/R/bin/R --slave --no-restore -e '
Rscript execution error: No such file or directory
RSCRIPT 여전히 기본 위치 '는/usr/lib64에/R에서 R을 찾고있는 것 같다/가정/EC2 사용자 ''내 R_HOME 변수로 설정하더라도 '/ 빈/R은 :
ec2-user$ echo $R_HOME
/home/ec2-user
나는 지원의 뿌리를 발견했습니다,하지만 난 내 특정 문제를 해결 아무것도 찾을 수 없습니다. 어떤 사람들은 R을 재설치 할 것을 제안했지만, Lambda의 목적을 위해, 모든 것을 자체적으로 포함 할 필요가있어서 별도의 EC2 인스턴스에 R을 설치 한 다음 그것을 패키지로 만들었습니다. R이 패키지 관리자와 함께 설치된 컴퓨터에서 모든 것이 제대로 실행된다고 언급해야합니다.
해결 방법 : 답변에 내 solution을 게시했습니다.
감사합니다. 예, 문제의 근원 인 것 같았지만 문제를 해결하는 방법을 알지 못했습니다. 이 솔루션의 일부를 따라갔습니다. http://fumodibit.blogspot.co.uk/2013/04/modifying-r-to-obtain-relocatable.html?showComment=1436450064627 –