在bingo build时会报权限问题,切换到root模式下显示没有bingo命令?

manifest分支为br_release_openUBMC2509_20251230;

bingo是用的pip安装的,版本为:

image

但是在sudo的情况下显示没有bingo命令。

image

答案内容由AI生成,仅供参考:
在您描述的场景中,bingo 命令在普通用户模式下可以正常执行(路径为 /home/cftc/.local/bin/bingo),但在使用 sudo 时提示“找不到命令”,这是典型的 PATH 环境变量差异问题,而非权限或安装缺失问题。

以下是详细分析和解决方案:


:white_check_mark: 问题原因分析

  1. 普通用户与 root 用户的 PATH 不同

    • 您通过 pip install 安装的 bingo 被安装到了用户本地目录:/home/cftc/.local/bin/
    • 这个路径默认不在 root 用户的 PATH 环境变量中
    • 当您执行 sudo bingo build 时,系统会在 root 的 PATH(如 /usr/bin, /bin, /usr/local/bin)中查找 bingo,但找不到,因此报错。
  2. sudo 默认会重置环境变量

    • 为安全起见,sudo 默认不会继承普通用户的 PATH、HOME 等环境变量。
    • 即使您在普通用户下能运行 bingosudo 也无法感知该路径。
  3. 命令拼写错误

    • 您的错误命令是 sudo binggo build(多了一个 g),应为 sudo bingo build

:white_check_mark: 解决方案

:white_check_mark: 方法一:使用 sudo -E 保留当前用户环境变量(推荐用于开发调试)

sudo -E bingo build -b openUBMC -r openubmc_dev
  • -E 参数表示 preserve environment,即保留当前用户的 PATH 和其他环境变量。
  • 这样 sudo 就能识别 /home/cftc/.local/bin/bingo

:warning: 注意:仅在您信任当前环境且为开发调试时使用此方法。生产环境建议使用方法二或三。


:white_check_mark: 方法二:将 bingo 安装到系统级路径(推荐长期使用)

bingo 重新安装到系统级可执行目录,例如 /usr/local/bin,这样所有用户(包括 root)都能访问。

# 卸载当前用户安装的版本
pip3 uninstall openubmc-bingo

# 重新安装到系统级目录(需 sudo)
sudo pip3 install --system openubmc-bingo

:light_bulb: 如果 --system 无效或报错,可尝试:

sudo pip3 install --user openubmc-bingo

然后手动将 /usr/local/bin 加入 PATH,或创建软链接:

# 查看 bingo 是否已安装到 /usr/local/bin
ls -l /usr/local/bin/bingo

# 若没有,手动创建软链接
sudo ln -sf /home/cftc/.local/bin/bingo /usr/local/bin/bingo

验证是否成功:

which bingo           # 应返回 /usr/local/bin/bingo
sudo which bingo      # 也应返回相同路径
sudo bingo -v         # 应输出版本号

:white_check_mark: 方法三:使用完整路径执行(临时应急)

直接使用 bingo 的完整路径执行命令:

sudo /home/cftc/.local/bin/bingo build -b openUBMC -r openubmc_dev

虽然繁琐,但最安全、最明确,适合脚本或临时调试。


非root用户安装在家目录下的~/.local/bin中,使用PATH环境变量查找命令。
切换用户身份时PATH环境变量会变更,如果切换到root,请在root环境中安装bingo。

手动git clone AtomGit | GitCode - 全球开发者的开源社区,开源代码托管平台 下载源码

然后切换到root权限下,运行sh install_local.sh安装就行了,

可能需要一些依赖,报什么就安装什么就可以了。

安装官网文档里直接使用pip或者apt安装都会有权限或者其他问题,

建议提前安装conan

pip install conan --trusted-host pypi.tuna.tsinghua.edu.cn --index-url https://pypi.tuna.tsinghua.edu.cn/simple/