Dokonać instalacji, ale nie do domyślnych katalogów?
Chcę uruchomić 'make install', więc mam wszystko, czego potrzebuję, ale chciałbym, aby zainstalować rzeczy we własnym folderze, a nie w systemie / usr / bin itp. czy to możliwe? nawet jeśli odwołuje się do narzędzi w /usr / bin itp.?
7 answers
To zależy od paczki. Jeśli plik Makefile jest generowany przez GNU autotools (./configure
), zazwyczaj możesz ustawić docelową lokalizację w następujący sposób:
./configure --prefix=/somewhere/else/than/usr/local
Jeśli plik Makefile nie jest generowany przez autotools, ale dystrybuowany wraz z oprogramowaniem, po prostu otwórz go w edytorze i zmień. Katalog docelowy instalacji jest prawdopodobnie zdefiniowany gdzieś w zmiennej.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-13 16:43:37
Ponieważ Nie wiem, w której wersji automake możesz użyć zmiennej środowiskowej DESTDIR .
Zobacz Makefile, aby się upewnić.
Na przykład:
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-08 09:11:19
Może zależeć od tego, co jest obsługiwane przez moduł, który próbujesz skompilować. Jeśli plik makefile jest generowany za pomocą autotools, użyj:
--prefix=<myinstalldir>
Podczas uruchamiania ./ configure
Niektóre pakiety umożliwiają również nadpisanie podczas uruchamiania:
make prefix=<myinstalldir>
Jednak, jeśli nie używasz ./ configure, jedynym sposobem na upewnienie się jest otwarcie makefile i sprawdzenie. Powinna być jedną z pierwszych kilku zmiennych na górze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-07-15 17:20:48
make DESTDIR=./new/customized/path install
To szybkie polecenie zadziałało dla mnie przy instalacji opencv w wersji 3.2.0 na Ubuntu 16. Ścieżka DESTDIR może być zarówno względna, jak i absolutna.
Takie przekierowanie może być również przydatne w przypadku, gdy użytkownik nie ma uprawnień administratora, o ile lokalizacja DESTDIR ma prawo dostępu dla użytkownika. np. / home / /
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-14 10:22:52
Jeśli pakiet zawiera Makefile.PL
- można użyć:
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
* dalsze wyjaśnienie: https://www.perlmonks.org/?node_id=564720
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-06-14 14:12:48
Wypróbowałem powyższe rozwiązania. Nic nie działało.
W końcu otworzyłem plik Makefile i ręcznie zmieniłem ścieżkę przedrostka na żądaną ścieżkę instalacji jak poniżej.
PREFIX ?= "installation path"
Kiedy próbowałem -- prefix," make " skarżył się, że nie ma takiego wejścia poleceń. Być może jednak niektóre pakiety akceptują -- prefix, który jest oczywiście czystszym rozwiązaniem.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-04-24 17:03:31
Spróbuj użyć INSTALL_ROOT.
make install INSTALL_ROOT=$INSTALL_DIRECTORY
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-30 22:16:35