回答:
ユーザーが使用する場合
./configure --prefix=/home/user/opt/
またはcmakeプロジェクトの場合
cmake -D CMAKE_INSTALL_PREFIX:PATH=/home/user/opt/ ../source/
これにより、デフォルトの/ usr / local /の代わりにそのプレフィックスにプログラムがインストールされ、ユーザーは次のようにプログラムを実行できるようになります。
/home/user/opt/bin/program
単純に名前(フルパスなし)を使用してプログラムを実行できるようにするには/home/user/opt/bin
、パス環境変数に追加する必要があります。ユーザー.profileを編集し、次の行を追加します。
export PATH=/home/user/opt/bin:$PATH
この方法でインストールされたプログラムは特定のユーザーに限定されますが、それはそれを行う方法です
Makefile
設定がありませんでしたが、私はそれに行きprefix = /some/path
、自分のホームディレクトリに行を変更し(末尾のスラッシュmake install
なし)、sudoなしで実行しました-すべて動作していますので、ありがとうございます。
ユーザーは、sudo権限なしでアプリケーションを構築できます。sudo権限が必要なのは、システムディレクトリに何かをインストールするときだけです。
./configure
make
常にsudo権限なしで動作します。make install
それがアプリケーションをインストールしますので、通常はsudoの権限を必要とする/usr/local
か、/usr
(時々/opt
)。
ただし、./configure --prefix=~/usr/local
インストールがユーザーのホームディレクトリツリー内で実行されるようにインストールパスのプレフィックスを変更する場合(つまり、)、sudo権限は必要ありませんmake install
。
./configure
とmake
仕事常になしsudo
?sudo make install
たとえば、実行し続ける人にそれを正当化するにはどうすればよいですか?