docor / dbal没有安装在Heroku中

时间:2016-12-18 10:46:55

标签: laravel heroku composer-php dbal

我在Heroku上运行一个Laravel项目。要运行将改变列类型的迁移,我需要安装doctrine / dbal包。我将"doctrine/dbal": "^2.5"行放在"require"对象的composer.json中。

当我将更改推送到Heroku时,它显示了该行。

- Installing doctrine/dbal (v2.5.5)
  Downloading: 100%

在我运行heroku run composer show doctrine/dbal之后,它正在显示。

[InvalidArgumentException]
Package doctrine/dbal not found

之后我也多次运行heroku run composer update。这是我的命令的完整日志。

C:\xampp\htdocs\jem\red-arrow (master) (red-arrow@0.0.1)
λ heroku run composer update
Running composer update on red-arrow... up, run.9733 (Free)
Loading composer repositories with package information
Updating dependencies (including require-dev)
- Removing symfony/polyfill-mbstring (v1.2.0)
- Installing symfony/polyfill-mbstring (v1.3.0)
    Downloading: 100%

- Removing symfony/var-dumper (v3.1.4)
- Installing symfony/var-dumper (v3.1.8)
    Downloading: 100%

- Removing symfony/translation (v3.1.4)
- Installing symfony/translation (v3.1.8)
    Downloading: 100%

- Removing symfony/routing (v3.1.4)
- Installing symfony/routing (v3.1.8)
    Downloading: 100%

- Removing symfony/process (v3.1.4)
- Installing symfony/process (v3.1.8)
    Downloading: 100%

- Removing symfony/http-foundation (v3.1.4)
- Installing symfony/http-foundation (v3.1.8)
    Downloading: 100%

- Removing symfony/event-dispatcher (v3.1.4)
- Installing symfony/event-dispatcher (v3.2.1)
    Downloading: 100%

- Removing psr/log (1.0.0)
- Installing psr/log (1.0.2)
    Downloading: 100%

- Removing symfony/debug (v3.1.4)
- Installing symfony/debug (v3.1.8)
    Downloading: 100%

- Removing symfony/http-kernel (v3.1.4)
- Installing symfony/http-kernel (v3.1.8)
    Downloading: 100%

- Removing symfony/finder (v3.1.4)
- Installing symfony/finder (v3.1.8)
    Downloading: 100%

- Removing symfony/console (v3.1.4)
- Installing symfony/console (v3.1.8)
    Downloading: 100%

- Removing swiftmailer/swiftmailer (v5.4.3)
- Installing swiftmailer/swiftmailer (v5.4.4)
    Downloading: 100%

- Removing paragonie/random_compat (v2.0.2)
- Installing paragonie/random_compat (v2.0.4)
    Downloading: 100%

- Removing ramsey/uuid (3.5.0)
- Installing ramsey/uuid (3.5.2)
    Downloading: 100%

- Removing nikic/php-parser (v2.1.1)
- Installing nikic/php-parser (v3.0.2)
    Downloading: 100%

- Removing psy/psysh (v0.7.2)
- Installing psy/psysh (v0.8.0)
    Downloading: 100%

- Removing monolog/monolog (1.21.0)
- Installing monolog/monolog (1.22.0)
    Downloading: 100%

- Removing league/flysystem (1.0.27)
- Installing league/flysystem (1.0.32)
    Downloading: 100%

- Removing symfony/polyfill-util (v1.2.0)
- Installing symfony/polyfill-util (v1.3.0)
    Downloading: 100%

- Removing symfony/polyfill-php56 (v1.2.0)
- Installing symfony/polyfill-php56 (v1.3.0)
    Downloading: 100%

- Removing jeremeamia/superclosure (2.2.0)
- Installing jeremeamia/superclosure (2.3.0)
    Downloading: 100%

- Removing classpreloader/classpreloader (3.0.0)
- Installing classpreloader/classpreloader (3.1.0)
    Downloading: 100%

- Removing laravel/framework (v5.3.9)
- Installing laravel/framework (v5.3.28)
    Downloading: 100%

- Installing doctrine/lexer (v1.0.1)
    Downloading: 100%

- Installing doctrine/collections (v1.3.0)
    Downloading: 100%

- Installing doctrine/cache (v1.6.1)
    Downloading: 100%

- Installing doctrine/annotations (v1.3.0)
    Downloading: 100%

- Installing doctrine/common (v2.6.2)
    Downloading: 100%

- Installing doctrine/dbal (v2.5.5)
    Downloading: 100%

- Installing fzaninotto/faker (v1.6.0)
    Downloading: 100%

- Installing hamcrest/hamcrest-php (v1.2.2)
    Downloading: 100%

- Installing mockery/mockery (0.9.6)
    Downloading: 100%

- Installing symfony/yaml (v3.2.1)
    Downloading: 100%

- Installing sebastian/version (2.0.1)
    Downloading: 100%

- Installing sebastian/resource-operations (1.0.0)
    Downloading: 100%

- Installing sebastian/recursion-context (2.0.0)
    Downloading: 100%

- Installing sebastian/object-enumerator (2.0.0)
    Downloading: 100%

- Installing sebastian/global-state (1.1.1)
    Downloading: 100%

- Installing sebastian/exporter (2.0.0)
    Downloading: 100%

- Installing sebastian/environment (2.0.0)
    Downloading: 100%

- Installing sebastian/diff (1.4.1)
    Downloading: 100%

- Installing sebastian/comparator (1.2.2)
    Downloading: 100%

- Installing doctrine/instantiator (1.0.5)
    Downloading: 100%

- Installing phpunit/php-text-template (1.2.1)
    Downloading: 100%

- Installing phpunit/phpunit-mock-objects (3.4.3)
    Downloading: 100%

- Installing phpunit/php-timer (1.0.8)
    Downloading: 100%

- Installing phpunit/php-file-iterator (1.4.2)
    Downloading: 100%

- Installing sebastian/code-unit-reverse-lookup (1.0.0)
    Downloading: 100%

- Installing phpunit/php-token-stream (1.4.9)
    Downloading: 100%

- Installing phpunit/php-code-coverage (4.0.3)
    Downloading: 100%

- Installing webmozart/assert (1.2.0)
    Downloading: 100%

- Installing phpdocumentor/reflection-common (1.0)
    Downloading: 100%

- Installing phpdocumentor/type-resolver (0.2.1)
    Downloading: 100%

- Installing phpdocumentor/reflection-docblock (3.1.1)
    Downloading: 100%

- Installing phpspec/prophecy (v1.6.2)
    Downloading: 100%

- Installing myclabs/deep-copy (1.5.5)
    Downloading: 100%

- Installing phpunit/phpunit (5.7.4)
    Downloading: 100%

- Installing symfony/css-selector (v3.1.8)
    Downloading: 100%

- Installing symfony/dom-crawler (v3.1.8)
    Downloading: 100%

sebastian/global-state suggests installing ext-uopz (*)
phpunit/phpunit-mock-objects suggests installing ext-soap (*)
phpunit/php-code-coverage suggests installing ext-xdebug (>=2.4.0)
phpunit/phpunit suggests installing phpunit/php-invoker (~1.1)
phpunit/phpunit suggests installing ext-xdebug (*)
Writing lock file
Generating autoload files
> Illuminate\Foundation\ComposerScripts::postUpdate
> php artisan optimize
Generating optimized class loader
The compiled class file has been removed.

C:\xampp\htdocs\jem\red-arrow (master) (red-arrow@0.0.1)
λ heroku run composer show doctrine/dbal
Running composer show doctrine/dbal on red-arrow... up, run.6084 (Free)


[InvalidArgumentException]
Package doctrine/dbal not found


show [--all] [-i|--installed] [-p|--platform] [-a|--available] [-s|--self] [-N|--name-only] [-P|--path] [-t|--tree] [-l|--latest] [-o|--outdated] [-D|--direct] [--] [<package>] [<version>]

链接到git repo:https://github.com/Jimut/red-arrow

链接到Heroku应用:http://red-arrow.herokuapp.com/

1 个答案:

答案 0 :(得分:0)

所以,问题是在我将回购推送到Heroku之前,composer.lock没有更新。

Heroku仅在composer install后运行git push,后者读取锁定文件以安装软件包。正如克里斯在评论中指出的那样

  

不要在Heroku上打扰运行作曲家更新。编译slug后对本地文件系统所做的任何更改都会在Dyno循环后立即丢失。

因此,最佳做法是,在本地文件系统中编辑composer.json后,始终运行composer update,然后运行git push

我已将"doctrine/dbal": "^2.5""require-dev"移至"require",并且在推送之前未运行composer update,这是问题的原因。