【问题标题】:Vendor folder missing after using brew to install Composer使用 brew 安装 Composer 后供应商文件夹丢失
【发布时间】:2019-12-25 03:40:50
【问题描述】:

我正在尝试在我的 Mac 上为我的 Drupal 网站安装 Composer 和 Drush,但每当我尝试实际运行 Drush 命令时都会遇到问题。

我跟着these instructions 下载并安装了 composer 和 Drush,但是,当我运行 Drush 命令时,我收到一条错误消息,提示找不到 Drush。

我认为主要问题是export PATH="$HOME/.composer/vendor/bin:$PATH" 不起作用,因为我的.composer 目录中没有vendor 文件夹。

不知何故,当我运行brew install composer 时,没有创建vendor 文件夹,所创建的只是一个缓存目录。

为什么使用 brew 安装后供应商文件夹丢失?

【问题讨论】:

  • 至少,添加您的代码以从其他人那里获得解决方案。
  • 哪个 Drush?从 Drush 9 开始,它现在只支持一种安装方法:您的 Drupal 8 站点是使用 Composer 构建的,并且 Drush 被列为本地依赖项。然后,您可以安装 Drush Launcher 以获得始终使用正确的本地 Drush 的 Drush 命令,或者您可以定义的全局(可能是 Drush 8)后备。您是否也尝试过直接呼叫您的 Drush? cd /my/drupal/ && ~/.composer/vendor/drush/drush/drush status?一般参见docs.drush.org/en/master/install,特殊参见兼容性图表。
  • @leymannx 哎呀,我忘了包括那个。我实际上将 Drush 8.1.17 用于 Drupal 7.63 项目。

标签: php composer-php homebrew drush


【解决方案1】:

确保 composer 安装正确

您已使用以下命令在 macOS 系统上安装了composer

brew install composer

通过运行确保 composer 已安装并在您的 PATH 中找到:

which composer
composer --version

安装 drush

  1. 将 composer 的全局 bin-dir 添加到您的 PATH 环境变量中

    export PATH="$(composer --global config --absolute bin-dir):${PATH}:"
    
  2. 使用以下命令安装drush

    composer global require drush/drush
    
  3. 验证drush是否已正确安装

    which drush
    drush --version
    

要保留对 PATH 的更改,请将 1. 中的行添加到 shell 的启动文件中(即 ~/.bashrc 用于 bash 或 ~/.zshrc 用于 zsh)。然后开始一个新的 shell 会话。

【讨论】:

  • 谢谢,这些似乎有点工作,但是,现在我的 drush 命令失败并显示mysql command not found。这是否与 Drush 安装有关
  • 您需要安装包含mysqlmysqldump 二进制文件的mysql-client 软件包。如果您使用的是基于 debian 的系统,请运行 sudo apt-get install mysql-client;如果您使用的是 macOS,请运行 brew install mysql-client
  • 啊,原来我的 .zshrc 文件中缺少一个 export 来指向通过 MAMP 运行的 mysql。
  • 另外,除了--global 未被识别之外,您的解决方案也有效。你只需要composer global require drush/drush
  • 我在回答中修复了s/--global/global/ 问题。感谢您指出。
猜你喜欢
  • 2018-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
  • 2015-02-28
  • 2016-06-11
  • 1970-01-01
  • 2019-09-25
相关资源
最近更新 更多