'make install'を実行して必要なものをすべて揃えたいのですが、システムの/ usr/binなどではなく、独自のフォルダーにインストールしたいのですが、それは可能ですか?/usr/binなどのツールを参照している場合でも?
パッケージによって異なります。 MakefileがGNU autotools(./configure
)によって生成される場合、通常、次のようにターゲットの場所を設定できます。
./configure --prefix=/somewhere/else/than/usr/local
Makefileがautotoolsによって生成されず、ソフトウェアとともに配布される場合は、エディターで単純に開いて変更します。インストールターゲットディレクトリは、おそらくどこかの変数で定義されています。
Automakeのバージョンがわからないため、DESTDIR環境変数を使用できます。
Makefileを参照して確認してください。
例えば:
export DESTDIR="$HOME/Software/LocalInstall" && make -j4 install
make DESTDIR=./new/customized/path install
このクイックコマンドは、Ubuntu 16でのopencvリリース3.2.0のインストールで機能しました。DESTDIRパスは、相対パスでも絶対パスでもかまいません。
このようなリダイレクトは、DESTDIRの場所にユーザーの適切なアクセス権がある限り、ユーザーに管理者権限がない場合にも役立ちます。例:/ home //
コンパイルしようとしているモジュールでサポートされているものに依存する可能性があります。オートツールを使用してメイクファイルを生成する場合は、次を使用します。
--prefix=<myinstalldir>
./configureを実行するとき
一部のパッケージでは、実行時にオーバーライドすることもできます。
make prefix=<myinstalldir>
ただし、。/ configureを使用しない場合、確実に知る唯一の方法は、メイクファイルを開いて確認することです。上部の最初の数個の変数の1つでなければなりません。
パッケージがMakefile.PL
を提供する場合-以下を使用できます。
Perl Makefile.PL PREFIX=/home/my/local/lib LIB=/home/my/local/lib
make
make test
make install
上記の解決策を試しました。うまくいきませんでした。
最後に、Makefileファイルを開き、以下のようにプレフィックスパスを手動で目的のインストールパスに変更しました。
PREFIX ?= "installation path"
--prefixを試してみると、「make」はそのようなコマンド入力がないと文句を言いました。ただし、おそらく一部のパッケージは--prefixを受け入れます。これはもちろん、よりクリーンなソリューションです。