‘make install’을 실행하여 필요한 모든 것을 갖추고 있지만 시스템의 / usr / bin 등과 반대로 자신의 폴더에 물건을 설치하고 싶습니다. 가능합니까? / usr / bin 등의 도구를 참조하더라도?
답변
패키지에 따라 다릅니다. Makefile이 GNU autotools ( ./configure
)에 의해 생성되면 일반적으로 다음과 같이 대상 위치를 설정할 수 있습니다.
./configure --prefix=/somewhere/else/than/usr/local
Makefile이 autotools에 의해 생성되지 않고 소프트웨어와 함께 배포되는 경우 편집기에서 열어서 변경하십시오. 설치 대상 디렉토리가 변수에 정의되어있을 수 있습니다.
답변
어떤 버전의 automake를 알지 못하므로 DESTDIR 환경 변수를 사용할 수 있습니다 .
Makefile을 참조하십시오.
예를 들면 다음과 같습니다.
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
답변
make DESTDIR=./new/customized/path install
이 빠른 명령은 Ubuntu 16에서 opencv 릴리스 3.2.0 설치에 효과적이었습니다. DESTDIR 경로는 절대 경로 일 수도 있고 상대 경로 일 수도 있습니다.
이러한 리디렉션은 DESTDIR 위치가 사용자에게 올바른 액세스 권한을 가지고있는 한 사용자에게 관리자 권한이없는 경우에도 유용 할 수 있습니다. 예 : / home //
답변
컴파일하려는 모듈이 지원하는 내용에 따라 달라질 수 있습니다. autotools를 사용하여 makefile이 생성되면 다음을 사용하십시오.
--prefix=<myinstalldir>
./configure를 실행할 때
일부 패키지를 사용하면 다음을 실행할 때 재정의 할 수도 있습니다.
make prefix=<myinstalldir>
그러나 ./configure를 사용하지 않는 경우 확인하는 유일한 방법은 makefile을 열고 확인하는 것입니다. 맨 처음 몇 변수 중 하나 여야합니다.
답변
패키지가 제공하는 경우 다음 Makefile.PL
을 사용할 수 있습니다.
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
답변
위의 솔루션을 시도했습니다. 아무도 효과가 없었습니다.
결국 Makefile 파일을 열고 아래처럼 프리픽스 경로를 원하는 설치 경로로 수동 변경했습니다.
PREFIX ?= "installation path"
–prefix를 시도했을 때 “make”는 그러한 명령 입력이 없다고 불평했습니다. 그러나 일부 패키지는 –prefix를 허용하지만 물론 더 깨끗한 솔루션입니다.
답변
INSTALL_ROOT를 사용해보십시오.
make install INSTALL_ROOT=$INSTALL_DIRECTORY