在makefile中安装命令

nam*_*mus 1 makefile

我在/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 的安装方式吗?

pro*_*ris 5

OP很久以前就问过,但我想它对其他人有用。

由于您的make install命令尝试在需要root 权限的目录中安装文件(例如:/usr/local/bin),您可以:

  • 在启动命令之前成为 root(如您在描述中所述:sudo例如使用)

或者

  • 将其安装在另一个不需要特定权限的目录中。为此,您可以使用 makefile 中通常支持的名为“DESTDIR”的特定参数,以便您的命令如下所示:

    make DESTDIR=/home/myuser/my_dest_dir install

    这被命名为Staged Installs