Composer - phpseclib 所需的打开失败

Composer - failed opening required for phpseclib

我正在尝试 运行 一个 Vagrant VM 中的 PHP 文件,它也使用 composer 进行构建。

我收到以下错误:

PHP Warning:  require(/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php): failed to open stream: No such file or directory in /var/www/ispe/vendor/composer/autoload_real.php on line 66

Warning: require(/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php): failed to open stream: No such file or directory in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66
PHP Fatal error:  require(): Failed opening required '/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php' (include_path='.:/usr/share/php') in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66

Fatal error: require(): Failed opening required '/var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/bootstrap.php' (include_path='.:/usr/share/php') in /var/www/CLIENT/vendor/composer/autoload_real.php on line 66

据我所知,此特定功能或其他任何功能都不需要 phpseclib(尽管我还没有 100% 确认其他任何内容)。

即便如此,我还是决定将它添加到我的 composer.json ("phpseclib/phpseclib": "2.0.4") 中以消除错误,但运气不佳。

我是 Composer 的新手,所以我想知道我在这里可能做错了什么或者需要设置什么。

我可以确认目录 /var/www/CLIENT/vendor/composer/../phpseclib/phpseclib/phpseclib/ 存在,但是目录中没有文件 bootstrap.php。

相反,我看到了以下内容:

Crypt  File  Math  Net  System

编辑:我还想澄清一下,文件 autoload.php 位于 vendor 目录中,VM 的 PHP 版本为 7.0。

我坚信 cache 是问题所在,不能 100% 确定,但请尝试销毁您的 Vagrant 实例,或者

您可以按照以下步骤操作:

  1. 删除 vendor 文件夹
  2. 删除composer.lock
  3. 运行命令composer clearcache(或clear-cache
  4. 运行 composer install

Oneliner 方便 copy/pasting:

rm -rf vendor composer.lock && composer clearcache && composer install