【问题标题】:Composer install fails to cloneComposer 安装无法克隆
【发布时间】:2018-07-06 16:03:20
【问题描述】:

我正在尝试对一个新的 Drupal 项目执行 composer install,但它失败并出现以下错误:

  [RuntimeException]
  Failed to clone https://github.com/jeromegn/Backbone.localStorage.git via https, ssh, git protocols, aborti
  ng.

  - https://github.com/jeromegn/Backbone.localStorage.git
    Cloning into 'web/libraries/backbone.localstorage'...
    done.
    sh: line 0: cd: web/libraries/backbone.localstorage: No such file or directory

  - git@github.com:jeromegn/Backbone.localStorage.git
    Cloning into 'web/libraries/backbone.localstorage'...
    done.
    sh: line 0: cd: web/libraries/backbone.localstorage: No such file or directory

  - git://github.com/jeromegn/Backbone.localStorage.git
    Cloning into 'web/libraries/backbone.localstorage'...
    done.
    sh: line 0: cd: web/libraries/backbone.localstorage: No such file or directory

系统详情:

macOS 10.12.6
git version 2.18.0
Composer version 1.6.5 2018-05-04 11:44:59
PHP 7.0.30 (cli) (built: Jun 22 2018 00:52:06) ( NTS )
  Copyright (c) 1997-2017 The PHP Group
  Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
  with Zend OPcache v7.0.30, Copyright (c) 1999-2017, by Zend Technologies

这很令人费解,因为我的同事没有收到此错误,并且他们有类似的机器,运行相同的操作系统,以及 composer/php/git 版本。

我尝试了以下方法无济于事:

  • brew reinstall git重新安装git
  • 删除带有rm -rf vendor 的供应商目录
  • 使用composer clear-cache 清除作曲家缓存
  • composer.json 中删除localStorage 包(即使清除缓存也会出现完全相同的错误)
  • 使用 --prefer-dist 标志运行 composer install
  • 使用 --prefer-source 标志运行 composer install

我也尝试过运行composer update,但出现此错误:

  [RuntimeException]
  Failed to execute git clone --no-checkout '/Users/delucac/.composer/cache/vcs/https---git.drupal.org-project-ma
  illog/' 'web/modules/contrib/maillog' --dissociate --reference '/Users/delucac/.composer/cache/vcs/https---git.
  drupal.org-project-maillog/' && cd 'web/modules/contrib/maillog' && git remote set-url origin 'https://git.drup
  al.org/project/maillog' && git remote add composer 'https://git.drupal.org/project/maillog'

  Cloning into 'web/modules/contrib/maillog'...
  done.
  sh: line 0: cd: web/modules/contrib/maillog: No such file or directory

我在 Google 上四处搜索,发现几个线程具有相同/相似的问题,但没有解决方案。

任何帮助将不胜感激。

【问题讨论】:

    标签: php git composer-php drupal-8


    【解决方案1】:

    我发现了问题。

    我不知道为什么,错误并没有真正表明这一点,但从我的.bashrc 中删除这一行可以解决问题:

    export CDPATH='~:~/Sites'
    

    这为主页或站点中的任何顶级目录提供了“自动书签”到cd 完成,并且显然修改了一些路径,但我仍然困惑为什么这会导致问题。

    如果有人对此有任何进一步的见解,我将不胜感激。

    【讨论】:

    • 您在~~/Sites 中有web 目录吗?
    • 我在~/Sites 中有它,但只是为了测试,我尝试将项目目录移动到/tmp 并使用CDPATH 选项重新运行composer install,并且它还是失败了。
    • 它可能会失败,因为使用您的CDPATH 设置cd 将首先在~ 中搜索web 目录,然后在~/Sites 中搜索,然后在您的当前目录中。在您的情况下,它将找到~/Sites/web 并以这种方式进行,因此它永远不会尝试在您的当前目录中搜索。你可以试试CDPATH='.:~:~/Sites' 让它更可预测。
    猜你喜欢
    • 1970-01-01
    • 2016-11-11
    • 2018-04-17
    • 1970-01-01
    • 2011-09-16
    • 2017-10-26
    • 1970-01-01
    • 2013-09-22
    • 1970-01-01
    相关资源
    最近更新 更多