【问题标题】:Conflicting versions of composer installed package causing issues作曲家安装包的版本冲突导致问题
【发布时间】:2018-10-16 04:56:28
【问题描述】:

我正在运行 mac OS X 并尝试通过终端对我正在处理的 laravel 项目使用 codeception,但我遇到了一些与版本相关的问题。通过终端的codecept 命令引用的是旧版本,我不知道如何将引用更改为新版本。

当我在终端输入 codecept -v 时,它显示 2.1.6。但是,当我输入 ./vendor/bin/codecept 时,它显示 2.4.1。所以,每次我需要使用 codeception 时,我现在都必须输入./vendor/bin/codecept some_command,这很烦人。

如何更改它,这样我就不必在每次需要运行代码接收命令时都输入./vendor/bin/codecept,而只需使用旧版本当前引用的codecept?我尝试使用export PATH=$PATH:./vendor/bin/codecept,但这并没有做任何事情。

【问题讨论】:

  • whereis codecept 显示什么?
  • @rob006 当我运行它时什么都没有出现。

标签: macos composer-php codeception


【解决方案1】:

试运行:

export PATH=./vendor/bin:$PATH

它将首选来自本地作曲家安装的二进制文件。

您可能希望将其添加到您的 ~/.profile~/.bashrc 文件中,这样您就不需要在每个会话中运行此命令。


如果您的全局 Codeception 安装是由 Composer 安装的,您应该能够通过以下方式对其进行更新:

composer global require codeception/codeception

但我不建议使用全局安装 - 不同项目所需的 Codeception 版本可能会有所不同,因此使用本地安装的版本应该会给您带来更少的麻烦和更可预测的结果。

【讨论】:

    【解决方案2】:

    对我有用的是:

    1. 安装 Composer 导航到您想要的位置并在终端中复制这组命令:

    php -r "复制('https://getcomposer.org/installer', 'composer-setup.php');"

    php -r "if (hash_file('SHA384', 'composer-setup.php') === '669656bab3166a7aff8a7506b8cb2d1c292f042046c5a994c43155c0be6190fa0355160742ab2e1c88d40d5be660b410') { echo '安装程序验证'; } else { echo '安装程序损坏'; unlink('composer-setup.php'); } 回声 PHP_EOL;"

    php composer-setup.php

    php -r "unlink('composer-setup.php');"

    1. 通过 Composer 安装最新的 Codeception: 在终端类型中:

    composer 需要 codeception/codeception --dev

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 2016-01-01
      • 2017-11-24
      • 2016-03-29
      • 2013-06-10
      • 2021-07-13
      • 2016-04-19
      • 2020-07-27
      • 2014-06-11
      相关资源
      最近更新 更多