【问题标题】:Git running Meld as merge tool fails 'check_requirements import gi'将 Meld 作为合并工具运行的 Git 失败“check_requirements import gi”
【发布时间】:2019-03-12 14:26:12
【问题描述】:

尝试合并冲突文件时出错:

作为版本控制,我使用 git 并调用 Meld 以合并冲突文件。 (作为 IDE,我使用 Qt creator,但我认为这不是问题)。 我不明白为什么合并过程会失败,因为此过程用于合并项目(远程项目和本地项目)的不同时间。

【问题讨论】:

    标签: git qt meld


    【解决方案1】:

    gi 模块运行,it fails to find the GTK DLL 除外:

    ---------------------------
    cx_Freeze: Python error in main script
    ---------------------------
    Traceback (most recent call last):
      File "bin/meld", line 205, in check_requirements
        import gi
      File "C:/msys64/MINGW32/lib/python3.7/site-packages/gi/__init__.py", line 42, in <module>
      File "ExtensionLoader_gi__gi.py", line 23, in <module>
      File "ExtensionLoader_gi__gi.py", line 15, in __bootstrap__
      File "C:/msys64/MINGW32/lib/python3.7/imp.py", line 342, in load_dynamic
    ImportError: DLL load failed: The specified module could not be found.
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:/msys64/MINGW32/lib/python3.7/site-packages\cx_Freeze/initscripts/__startup__.py", line 14, in run
      File "C:/msys64/MINGW32/lib/python3.7/site-packages\cx_Freeze/initscripts/Console.py", line 26, in run
      File "bin/meld", line 362, in <module>
        check_requirements()
      File "bin/meld", line 211, in check_requirements
        missing_reqs("GTK+", gtk_requirement, e)
      File "bin/meld", line 194, in missing_reqs
        show_error_and_exit(_("Cannot import: ") + mod + "\n" + str(exc))
      File "bin/meld", line 182, in show_error_and_exit
        raise Exception(error_text)
    Exception: Cannot import: GTK+
    DLL load failed: The specified module could not be found.
    
    ---------------------------
    OK   
    ---------------------------
    

    我已将C:\Program Files (x86)\Meld\lib 添加到我的Path user environment variable,现在Meld 工作正常。

    【讨论】:

      【解决方案2】:

      我通过执行将 meld 设置为我的差异工具

      git config --global diff.tool meld
      git config --global difftool.prompt false
      

      我得到了同样的错误信息。

      我花了一段时间才找到 https://gitlab.gnome.org/GNOME/meld/issues/282,Wesley Staples 提供了一个非常有用的解决方法:

      临时解决方法是将“C:\Program Files (x86)\Meld\lib\libgirepository-1.0-1.dll”复制到“C:\Program Files (x86)\Meld\libgirepository-1.0-1. dll”。复制一个目录。

      【讨论】:

        【解决方案3】:

        对我有用的解决方案如下

        将“C:\Program Files (x86)\Meld\lib\libgirepository-1.0-1.dll”复制到“C:\Program Files (x86)\Meld\libgirepository-1.0-1.dll”。

        【讨论】:

        猜你喜欢
        • 2013-01-27
        • 2015-04-17
        • 1970-01-01
        • 1970-01-01
        • 2019-06-20
        • 2011-04-20
        • 2015-07-31
        • 2020-03-31
        • 2019-07-26
        相关资源
        最近更新 更多