나는/usr/local/flower 디렉토리에 존재하는 프로그램 인 flower.rb를 가지고있다. 동일한 디렉토리에도 존재하는 라이브러리를로드해야합니다. 내 OS 환경 경로에이 꽃 디렉토리를 포함 시켰습니다. 그리고 OS의 선택은 우분투 (Ubuntu)입니다.프로그램의 작업 디렉토리를 설정하는 방법은 무엇입니까?
/usr/local/flower 이외의 다른 디렉토리에서 flower.rb를 실행하면 프로그램이/usr/local/flower 디렉토리에도 존재하는 라이브러리를로드 할 수 없다는 오류 메시지가 표시됩니다. b/그들은 소스 코드에서 ./ [libraries]로로드됩니다. 예를 들어, 홈 디렉토리에서이 프로그램을 실행할 수있는 방법이 있는지
은 내가 하드 코드에/usr/지방/꽃/[라이브러리] 루비 프로그램을 변경할 수 있습니다 실현,하지만 난 궁금/home/seattle, 이러지 마.
또한 프로그램이 실행될 때 -o 스위치를 통해 출력을 생성합니다.
내 솔루션은/usr/지방/꽃 디렉토리로 변경 떠들썩한 파티 스크립트를 만드는 것이었다 프로그램을 실행 한 다음 flower.rb 프로그램이 호출 된 곳에서 PWD 디렉토리로 돌아갑니다. 문제는 -o 스위치입니다. 내가 -o [file]을하면 [file]은 flower.rb 프로그램이 실행될 때가 아닌/usr/local/flower 디렉토리에 기록됩니다.
이 문제를 해결하는 좋은 방법은 무엇입니까?
"라이브러리"는 무엇을 의미합니까? 동적 라이브러리 (* .so. \ *)라면 디렉토리를'/ etc/ld.so.conf'에 추가하고'sudo ldconfig'를 실행하여 라이브러리 경로에 추가 할 수 있습니다. –
루비 라이브러리. 시스템 전체 라이브러리가 아닙니다. –