Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以构建'git',使安装目录和部署前缀不相同?_Git_Autoconf - Fatal编程技术网

是否可以构建'git',使安装目录和部署前缀不相同?

是否可以构建'git',使安装目录和部署前缀不相同?,git,autoconf,Git,Autoconf,我正试图从源代码构建git,我想makeinstall将二进制文件放入源代码目录中名为dist的目录中,因此我使用以下配置行 ./configure --prefix=`pwd`/dist 不幸的是,这也会导致生成输出假定这是git的最终安装位置,因此将路径硬编码到各种脚本和二进制文件中,例如libexec/git core/git difftool 有没有办法在configure或make期间指定我需要一个不同的实际部署路径,例如/usr/bin/local,但仍然需要make instal

我正试图从源代码构建
git
,我想
makeinstall
将二进制文件放入源代码目录中名为
dist
的目录中,因此我使用以下
配置

./configure --prefix=`pwd`/dist
不幸的是,这也会导致生成输出假定这是git的最终安装位置,因此将路径硬编码到各种脚本和二进制文件中,例如
libexec/git core/git difftool


有没有办法在
configure
make
期间指定我需要一个不同的实际部署路径,例如
/usr/bin/local
,但仍然需要
make install
进入目录
pwd
/dist?

,因为这个问题已经有几天没有答案,我,并收到了以下答案,表明我应该将
前缀设置为实际安装路径,并使用
DESTDIR
环境变量控制
makeinstall
放置文件的位置

./configure --prefix=/usr/local
make
DESTDIR=$(PWD)/dist make install
因此,在
/configure
期间,部署前缀应设置为
--prefix
,而安装目标应由
DESTDIR
指定


更新:我已经测试了这个解决方案,并确认它工作正常。

将现有的/usr/bin/local/to/usr/bin/local.temp、symlink/usr/bin/local to/dist、configure--prefix=/usr/bin/local、make install、rm symlink、restore dir name?这是一个简单的解决方法,但它没有解决问题的根源。是的,这就是为什么我评论而不是回答。:)为了便于部署到安卓系统,但这个问题应该从表面上看。正如第一条评论所建议的,基本问题并不难解决。请注意,只要有令人信服的证据,有效答案可能是否定的。为完整起见,这是指向您的邮件列表帖子的链接:@sschuberth,谢谢链接!我已经把它写进了答案,对我来说不起作用。唯一适用于前缀的方法是通过
/configure
,但是
安装
失败。sIt可能值得再次联系Git开发人员,看看自2015年以来情况是否发生了变化。