我在/usr/local/bin通过 makefile安装可执行文件时遇到一些错误:
install -m 755 my_execble /usr/local/bin
Run Code Online (Sandbox Code Playgroud)
安装:无法创建常规文件/usr/local/bin/my_execble:权限被拒绝
如果在“安装”命令之前使用 sudo .. 那么它会工作.. 但是还有其他不使用 sudo 的安装方式吗?
OP很久以前就问过,但我想它对其他人有用。
由于您的make install命令尝试在需要root 权限的目录中安装文件(例如:/usr/local/bin),您可以:
sudo例如使用)或者
将其安装在另一个不需要特定权限的目录中。为此,您可以使用 makefile 中通常支持的名为“DESTDIR”的特定参数,以便您的命令如下所示:
make DESTDIR=/home/myuser/my_dest_dir install
这被命名为Staged Installs。