运行 make 时指定 PREFIX 位置

spu*_*der 5 compiling rpm software-installation

我需要将 redis 2.8.x 安装到特定目录中,以便以后可以使用fpm创建 rpm。

从我的研究来看,这似乎应该可以通过使用 make PREFIX=

mkdir /tmp/installdir
cd /tmp
wget http://download.redis.io/releases/redis-2.8.6.tar.gz
tar -xvf redis-*.tar.gz
cd redis-2.8.6
make PREFIX=/tmp/installdir
make install
Run Code Online (Sandbox Code Playgroud)

我希望将二进制文件放在 /tmp/installdir 中,不幸的是该目录仍然是空的。似乎PREFIX=/tmp/installdir被忽视了。

通常我会运行./configure --prefix=/tmp/installdir但是因为下载不包含源代码,没有configure文件。

如何将软件安装到非标准目录?

小智 8

我通过前缀成功

PREFIX=/tmp/installdir make
Run Code Online (Sandbox Code Playgroud)

PREFIX=/tmp/installdir make install
Run Code Online (Sandbox Code Playgroud)

要检查会发生什么,请使用 -n

root@wizzard:/tmp/redis-2.8.6# PREFIX=/tmp/installdir make install -n
cd src && make install
make[1]: Entering directory `/tmp/redis-2.8.6/src'
echo ""
echo "Hint: To run 'make test' is a good idea ;)"
echo ""
mkdir -p /tmp/installdir/bin
printf '    %b %b\n' "\033[34;1m"INSTALL"\033[0m" "\033[37;1m"install"\033[0m" 1>&2;install redis-server /tmp/installdir/bin
printf '    %b %b\n' "\033[34;1m"INSTALL"\033[0m" "\033[37;1m"install"\033[0m" 1>&2;install redis-benchmark /tmp/installdir/bin
printf '    %b %b\n' "\033[34;1m"INSTALL"\033[0m" "\033[37;1m"install"\033[0m" 1>&2;install redis-cli /tmp/installdir/bin
printf '    %b %b\n' "\033[34;1m"INSTALL"\033[0m" "\033[37;1m"install"\033[0m" 1>&2;install redis-check-dump /tmp/installdir/bin
printf '    %b %b\n' "\033[34;1m"INSTALL"\033[0m" "\033[37;1m"install"\033[0m" 1>&2;install redis-check-aof /tmp/installdir/bin
make[1]: Leaving directory `/tmp/redis-2.8.6/src'
Run Code Online (Sandbox Code Playgroud)