AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1247094
Accepted
Pe Dro
Pe Dro
Asked: 2020-06-05 23:07:11 +0800 CST2020-06-05 23:07:11 +0800 CST 2020-06-05 23:07:11 +0800 CST

错误:Ubuntu 18.04.4 LTS 和 git 2.18.1 上的“git: 'submodule' 不是 git 命令”

  • 772

我正在尝试使用git submodulegit 但正在运行

$ git submodule update --init --recursive

我明白了

git: 'submodule' is not a git command. See 'git --help'.

除了这个问题之外,我在网上找不到解决方案错误:英特尔爱迪生和 git 2.0.1 上的“git:'子模块'不是 git 命令”,这在我的情况下不起作用。

早些时候,我从apt-get方法中安装了 git。我遇到了这个问题。现在,我已经从源代码构建了 Git,如此处所述,但我跳过了这一部分

为了能够添加各种格式的文档(doc、html、info),需要这些额外的依赖项:

$ sudo dnf install asciidoc xmlto docbook2X

$ sudo apt-get install asciidoc xmlto docbook2x

因为我不需要它。我应该如何克服它?

command-line git 18.04
  • 1 1 个回答
  • 2207 Views

1 个回答

  • Voted
  1. Best Answer
    Eliah Kagan
    2020-06-05T23:37:16+08:002020-06-05T23:37:16+08:00

    运行sudo apt update,然后从 Ubuntu 的存储库sudo apt install git安装。git这个版本git有一个工作submodule命令。我建议git以这种方式安装,除非您有特定的理由不这样做。

    尽管您应该能够以有效git的方式从源代码构建git submodule,但对于大多数人来说,在 Ubuntu 上安装的最佳方式git是为其安装 Ubuntu 软件包。该包被简单地称为git. 它支持submodule命令。

    另外,请尝试找出git可能困扰您的客户。运行type git找到它。然后删除此版本并重新安装git。

    要安装git软件包,请运行:

    sudo apt update
    sudo apt install git
    

    git submodulegit在以这种方式安装的 18.04 LTS 系统上为我工作。

    (还有一个git-all软件包,它安装了额外的工具和服务。这些说明建议这样做,但我认为大多数用户不需要任何超出git软件包提供的东西。安装它不会有任何伤害,但如果你只是安装git你仍然可以git-all稍后安装。我刚刚测试的 18.04 LTS 系统git submodule没有安装git-all包,或者它的大部分依赖项。)


    当一个新安装的程序版本应该提供新的行为,但出乎意料的行为与您以前的相同时,通常原因是您以前的程序仍在运行,而不是新软件。该type命令可以帮助诊断这一点。根据对您的问题的进一步调查,这似乎是正在发生的事情。

    当你运行type -a git时,它显示你有多个安装,git并且实际运行的那个 ( /home/.../linux-devkit/sysroots/x86_64-arago-linux/usr/bin/git) 与通过Ubuntu 的包管理器安装的和你最近从源安装的不同。

    如果您不需要那个,最好将其卸载。如果您确实需要它,或者由于某种原因无法删除它 - 同时,在您删除它之前 - 您可以通过确保包含正常工作的git可执行文件的目录出现在$PATH 此之前解决问题一。

    如果可以接受之前/usr/bin放入,那将解决问题。$PATH /home/.../linux-devkit/sysroots/x86_64-arago-linux/usr/bin

    但这可能是不可接受的。也许您依赖于首先在其他 bin 目录中找到的其他可执行文件。在这种情况下,您可以将符号链接放在/usr/bin/git您之前的某个其他目录中$PATH。

    我建议git通过重命名或删除特定文件(例如/home/.../linux-devkit/sysroots/x86_64-arago-linux/usr/bin/git. 原因是它git有多个可执行文件,因为一些命令是在主可执行文件git外部提供的。git重命名(或删除)一些但不重命名可能会导致您运行的一个版本git使用另一个版本的git. 这可能在大多数情况下都可以正常工作,但是如果没有,则进行故障排除会很复杂。

    • 0

相关问题

  • 如何从命令行仅安装安全更新?关于如何管理更新的一些提示

  • 如何从命令行刻录双层 dvd iso

  • 如何从命令行判断机器是否需要重新启动?

  • 文件权限如何工作?文件权限用户和组

  • 如何在 Vim 中启用全彩支持?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve