Make install, pero no a los directorios predeterminados?
Quiero ejecutar 'make install' así que tengo todo lo que necesito, pero me gustaría que instalara las cosas en su propia carpeta en lugar del /usr/bin del sistema, etc. es eso posible? incluso si hace referencia a herramientas en /usr / bin, etc.?
7 answers
Depende del paquete. Si el Makefile es generado por GNU autotools (./configure
) generalmente puede establecer la ubicación de destino de la siguiente manera:
./configure --prefix=/somewhere/else/than/usr/local
Si el Makefile no es generado por autotools, sino distribuido junto con el software, simplemente ábralo en un editor y cámbielo. El directorio de destino install probablemente esté definido en una variable en algún lugar.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-13 16:43:37
Dado que no sé qué versión de automake puede usar DESTDIR variable de entorno.
Consulte Makefile para estar seguro.
Por ejemplo:
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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-08 09:11:19
Podría depender de lo que sea soportado por el módulo que está tratando de compilar. Si su makefile es generado usando autotools, use:
--prefix=<myinstalldir>
Cuando se ejecuta el ./ configure
Algunos paquetes le permiten también sobreescribir cuando se ejecuta:
make prefix=<myinstalldir>
Sin embargo, si no está usando ./ configure, la única forma de saberlo con seguridad es abrir el makefile y comprobar. Debería ser una de las primeras variables en la parte superior.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-15 17:20:48
make DESTDIR=./new/customized/path install
Este comando rápido funcionó para mí para la instalación de opencv release 3.2.0 en Ubuntu 16. La ruta de DESTDIR puede ser tanto relativa como absoluta.
Dicha redirección también puede ser útil en caso de que el usuario no tenga privilegios de administrador, siempre y cuando la ubicación DESTDIR tenga acceso correcto para el usuario. por ejemplo / home / /
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-14 10:22:52
Si el paquete proporciona un Makefile.PL
- se puede usar:
perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
* explicación adicional: 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-06-14 14:12:48
Probé las soluciones anteriores. Ninguno funcionó.
Al final abrí el archivo Makefile y cambié manualmente la ruta de prefijo a la ruta de instalación deseada como se muestra a continuación.
PREFIX ?= "installation path"
Cuando intenté pref prefix, "make" se quejó de que no hay tal entrada de comando. Sin embargo, tal vez algunos paquetes aceptan pref prefix que es, por supuesto, una solución más limpia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-24 17:03:31
Intente usar 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-11-30 22:16:35