进行安装,但不是默认目录?
我想运行“make install”,所以我有我需要的一切,但我想它安装在自己的文件夹中的东西,而不是系统的/ usr / bin等是可能的吗? 即使它引用/ usr / bin等工具?
这取决于包。 如果Makefile是由GNU autotools( ./configure
)生成的,你通常可以像这样设置目标位置:
./configure --prefix=/somewhere/else/than/usr/local
如果Makefile不是由autotools生成的,而是随软件一起发布的,只需在编辑器中打开它并进行更改即可。 安装目标目录可能在某个variables中定义。
既然不知道哪个版本的automake可以使用DESTDIR环境variables。
请参阅Makefile以确保。
例如:
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
这可能取决于您正在编译的模块所支持的内容。 如果你的makefile是使用autotools生成的,使用:
--prefix=<myinstalldir>
运行./configure时
一些软件包允许您在运行时也覆盖:
make prefix=<myinstalldir>
然而,如果你不使用./configure,只有这样才能知道是否打开makefile并检查。 它应该是顶部的前几个variables之一。
make DESTDIR=./new/customized/path install
这个快速命令为我在Ubuntu 16上的opencv版本3.2.0安装工作。DESTDIRpath可以是相对的,也可以是绝对的。
只要DESTDIR位置对用户具有正确的访问权限,这样的redirect也可以用于用户不具有pipe理权限的情况。 例如/ home //
尝试使用INSTALL_ROOT。
make install INSTALL_ROOT=$INSTALL_DIRECTORY