安装没有sudo访问权限的Google glog库

问题描述 投票:1回答:1

我试图在我的机器上安装Glog 0.3.4 https://github.com/google/glog/releases,即使我没有sudo访问权限。我运行了以下命令:

./configure --prefix=/usr/local
make
make install

这会导致以下错误

$ make install
make[1]: Entering directory `/glog-0.3.4'
/bin/mkdir -p '/usr/local/lib'
/bin/bash ./libtool   --mode=install /usr/bin/install -c   libglog.la 
'/usr/local/lib'
libtool: install: /usr/bin/install -c .libs/libglog.so.0.0.0 
/usr/local/lib/libglog.so.0.0.0
/usr/bin/install: cannot create regular file 
'/usr/local/lib/libglog.so.0.0.0': Permission denied
make[1]: *** [install-libLTLIBRARIES] Error 1

如何克服此错误并完成我的安装?我没有任何sudo访问该机器。谢谢!

linux ubuntu glog
1个回答
0
投票

/usr/local通常由root拥有,因此如果没有sudo,你将无法在其中写入。为什么不将它安装到您的主目录中呢?

编辑:

谈到它后,我意识到我忘记了$HOME/.local/bin。此目录(如果存在)已经存在于您的PATH中。因此,您可以使用/usr/local/而不是安装到$HOME/.local/。只需确保可执行文件在$HOME/.local/bin/或符号链接中结束。

Original answer:

mkdir $HOME/.glog_install
./configure --prefix=$HOME/.glog_install
make
make install

然后你可以将可执行文件添加到你的路径:PATH=$PATH:~/.glog_install/path/to/bin

事实上,如果您计划在主目录中安装多个程序,您可能希望让事情更有条理。在这种情况下,我将为我的主目录中的所有用户安装的二进制文件创建一个目录,并将已安装的二进制文件符号链接到其中。然后,您只需将一个目录添加到路径中即可。所以:

#make bin directory in home
mkdir $HOME/bin

#add ~/bin to PATH
PATH=$PATH:$HOME/bin

#install first program somewhere in home
mkdir $HOME/.program_1_files
./configure --prefix=$HOME/.program_1_files
make
make install

#link program 1 executables to ~/bin
ln -s ~/.program_1_files/path/to/executable ~/bin/program1

mkdir $HOME/.program_2_files
#...same steps as above

之后,在命令行上运行program1将调用该程序(对于您的用户)。

© www.soinside.com 2019 - 2024. All rights reserved.