【问题标题】:The composer autoload went wrong, what's going on here?作曲家自动加载出错了,这是怎么回事?
【发布时间】:2018-05-15 14:27:16
【问题描述】:

作曲家版本 1.6.3

我只表演过:

composer require "hieu-le/active:~3.5"

我安装了一个扩展包,但事实出乎意料,这里出现错误:

vagrant@homestead:~/Projects/cunzai$ composer require "hieu-le/active:~3.5"
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Package operations: 1 install, 0 updates, 0 removals
  - Installing hieu-le/active (3.5.1): Downloading (100%)
Writing lock file
Generating optimized autoload files

Fatal error: Uncaught TypeError: Argument 1 passed to Composer\Autoload\ClassLoader::addClassMap() must be of the type array, integer given, called in phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php on line 760 and defined in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php:92

(1)phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(760): Composer\Autoload\ClassLoader->addClassMap(1)

(2)phar:///usr/local/bin/composer/src/Composer/Autoload/AutoloadGenerator.php(303): Composer\Autoload\AutoloadGenerator->getStaticFile('c4e4dd9af67a9f1...','/home/vagrant/P...', '/home/vagrant/P...', '/home/vagrant/P...', 50600)

(3)phar:///usr/local/bin/composer/src/Composer/Installer.php(302): Composer\Autoload\AutoloadGenerator->dump(Object(Composer\Config),Object(Composer\Repository\InstalledFilesystemRepository),Object(Composer\Package\RootPackage), Object(Composer\Installer\InstallationManager), '/home/vagrant/P...', true)

(4)phar:///usr/local/bin/composer/src/ in phar:///usr/local/bin/composer/vendor/composer/ClassLoader.php on line 92

报错后,我还尝试安装另一个扩展包。事实也是错误的。所以我确定它不是扩展包。 Laravel 框架和作曲家不能成为错误的原因,但我想不出一个地方。我希望有感谢发布这个问题的解决方案。

composer.json:

{
    "name": "laravel/laravel",
    "description": "The Laravel Framework.",
    "keywords": ["framework", "laravel"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.0.0",
        "fideloper/proxy": "~3.3",
        "hieu-le/active": "~3.5",
        "laravel/framework": "5.5.*",
        "laravel/tinker": "~1.0",
        "mews/captcha": "~2.0"
    },
    "require-dev": {
        "barryvdh/laravel-debugbar": "~3.1",
        "filp/whoops": "~2.0",
        "fzaninotto/faker": "~1.4",
        "mockery/mockery": "~1.0",
        "phpunit/phpunit": "~6.0",
        "symfony/thanks": "^1.0"
    },
    "autoload": {
        "classmap": [
            "database/seeds",
            "database/factories"
        ],
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "psr-4": {
            "Tests\\": "tests/"
        }
    },
    "extra": {
        "laravel": {
            "dont-discover": [
            ]
        }
    },
    "scripts": {
        "post-root-package-install": [
            "@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
        ],
        "post-create-project-cmd": [
            "@php artisan key:generate"
        ],
        "post-autoload-dump": [
            "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
            "@php artisan package:discover"
        ]
    },
    "config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true
    }
}

【问题讨论】:

  • 能否以文本形式分享错误信息?
  • 抱歉,看起来有点乱。这是我修改的问题。
  • 请分享您的composer.json的内容。
  • 这个网址好像是你发的,他们讨论的解决方法是放弃NFS,但是没有NFS,访问网站超级慢。

标签: php composer-php


【解决方案1】:

最终对我有用的是:

composer.json 中,将streams-platform 的版本更改为"anomaly/streams-platform": "1.3.219",,并将所有这些行添加到“require”部分的底部:

"teamtnt/laravel-scout-tntsearch-driver": "3.0.6",
"teamtnt/tntsearch": "1.3.1",
"michelf/php-markdown": "^1.8"

然后运行:

composer dump-autoload

我在 Windows 10 的 Virtualbox 上使用 Laravel Homestead Vagrant。

我使用 Git Bash 在 Windows 上的项目文件夹中直接交替运行 composer update,然后在使用 SSH 进入 Ubuntu 虚拟机中的同一项目文件夹之后。

我的 Homestead.yaml 文件使用 type: "nfs"

【讨论】:

    猜你喜欢
    • 2016-07-08
    • 2013-12-09
    • 2018-09-12
    • 2013-03-05
    • 2015-09-24
    • 2018-06-15
    • 2014-09-14
    • 1970-01-01
    相关资源
    最近更新 更多