Композитор Yii2 Bower: файл или каталог для публикации не существует: C: \ myProject \ vendor \ bower / jquery / dist - PullRequest
0 голосов
/ 02 ноября 2018

Сообщение об ошибке:

PHP User Error – yii\base\ErrorException Exception 'yii\base\InvalidArgumentException' with message 'The file or directory to be published does not exist: C:\myProject\vendor\bower/jquery/dist' 
in C:\myProject\vendor\yiisoft\yii2\web\AssetManager.php:456

Проблема: Менеджер активов yii2 ищет не существующий файл базы данных поставщика, а не существующий ресурс. Изменения в псевдонимах, composer.json, composer, fxp / composer-asset-plugin, похоже, не влияют на ошибку.

Пробовали следующие получатели Stackoverflow:

исправление для устаревшего плагина fxp

псевдоним наложения

также попробовал все эти «исправления» без изменений (довольно точно описывает мою проблему)

Установка:

PHP 7.2.11 (тот же результат при попытке с 7.1 и 7.0)

Windows 7 Pro 64bit, английский

Composer Версия 1.7.2:

Общая информация о композиторе:

C:\Users\me\Desktop\test2>composer global info
Changed current directory to C:/Users/me/AppData/Roaming/Composer
codeception/codeception           2.0.16  BDD-style testing framework
codeception/specify               0.4.6   BDD code blocks for PHPUnit and Codeception
codeception/verify                0.4.0   BDD assertion library for PHPUnit
doctrine/instantiator             1.1.0   A small, lightweight utility to instantiate object...
facebook/webdriver                v0.6.0  A php client for WebDriver
fxp/composer-asset-plugin         v1.4.4  NPM/Bower Dependency Manager for Composer
guzzlehttp/guzzle                 5.3.3   Guzzle is a PHP HTTP client library and framework ...
guzzlehttp/ringphp                1.1.1   Provides a simple API and specification that abstr...
guzzlehttp/streams                3.0.0   Provides a simple abstraction over streams of data
myclabs/deep-copy                 1.8.1   Create deep copies (clones) of your objects
phpdocumentor/reflection-common   1.0.1   Common reflection classes used by phpdocumentor to...
phpdocumentor/reflection-docblock 4.3.0   With this component, a library can provide support...
phpdocumentor/type-resolver       0.4.0
phpspec/prophecy                  1.8.0   Highly opinionated mocking framework for PHP 5.3+
phpunit/php-code-coverage         2.2.4   Library that provides collection, processing, and ...
phpunit/php-file-iterator         1.4.5   FilterIterator implementation that filters files b...
phpunit/php-text-template         1.2.1   Simple template engine.
phpunit/php-timer                 2.0.0   Utility class for timing
phpunit/php-token-stream          1.4.12  Wrapper around PHP's tokenizer extension.
phpunit/phpunit                   4.7.7   The PHP Unit Testing framework.
phpunit/phpunit-mock-objects      2.3.8   Mock Object library for PHPUnit
psr/log                           1.0.2   Common interface for logging libraries
react/promise                     v2.7.0  A lightweight implementation of CommonJS Promises/...
sebastian/comparator              1.2.4   Provides the functionality to compare PHP values f...
sebastian/diff                    1.4.3   Diff implementation
sebastian/environment             1.3.8   Provides functionality to handle HHVM/PHP environm...
sebastian/exporter                1.2.2   Provides the functionality to export PHP variables...
sebastian/global-state            1.1.1   Snapshotting of global state
sebastian/recursion-context       1.0.5   Provides functionality to recursively process PHP ...
sebastian/version                 1.0.6   Library that helps with managing the version numbe...
symfony/browser-kit               v2.8.46 Symfony BrowserKit Component
symfony/console                   v2.8.46 Symfony Console Component
symfony/css-selector              v2.8.46 Symfony CssSelector Component
symfony/debug                     v3.0.9  Symfony Debug Component
symfony/dom-crawler               v2.8.46 Symfony DomCrawler Component
symfony/event-dispatcher          v2.8.46 Symfony EventDispatcher Component
symfony/finder                    v2.8.46 Symfony Finder Component
symfony/polyfill-ctype            v1.9.0  Symfony polyfill for ctype functions
symfony/polyfill-mbstring         v1.9.0  Symfony polyfill for the Mbstring extension
symfony/yaml                      v2.8.46 Symfony Yaml Component
webmozart/assert                  1.3.0   Assertions to validate method input/output with ni...

(приведенная выше информация информирует вас об этом: fxp / composer-asset-plugin v1.4.4 Менеджер зависимостей NPM / Bower для Composer)

Yii2 composer.json: (возможно, здесь кроется проблема?)

{
    "name": "yiisoft/yii2-app-advanced",
    "description": "Yii 2 Advanced Application Template",
    "keywords": ["yii2", "framework", "advanced", "application template"],
    "homepage": "http://www.yiiframework.com/",
    "type": "project",
    "license": "BSD-3-Clause",
    "support": {
        "issues": "https://github.com/yiisoft/yii2/issues?state=open",
        "forum": "http://www.yiiframework.com/forum/",
        "wiki": "http://www.yiiframework.com/wiki/",
        "irc": "irc://irc.freenode.net/yii",
        "source": "https://github.com/yiisoft/yii2"
    },
    "minimum-stability": "dev",
    "require": {
        "php": ">=7.1.0",
        "yiisoft/yii2": "dev-master",
        "yiisoft/yii2-bootstrap": "*",
        "yiisoft/yii2-swiftmailer": "*",
        "yiisoft/yii2-jui": "@dev",
        "kartik-v/yii2-label-inplace": "*",
        "kartik-v/yii2-widgets": "*",
        "kartik-v/yii2-grid": "*",
        "kartik-v/yii2-mpdf": "dev-master@dev",
        "kartik-v/yii2-detail-view": "dev-master",
        "kartik-v/yii2-password": "dev-master",
        "himiklab/yii2-jqgrid-widget" : "@dev",
        "dmstr/yii2-adminlte-asset": "2.*",
        "philippfrenzel/yii2fullcalendar":"*",
        "simplepie/simplepie": "dev-master",
        "insolita/yii2-adminlte-widgets": "*",
        "attybean/easyii": "dev-master",
        "kartik-v/yii2-tabs-x": "*",
        "kartik-v/yii2-builder": "dev-master",
        "kartik-v/yii2-nav-x": "*",
        "kartik-v/yii2-checkbox-x": "*",
        "kartik-v/yii2-widget-select2": "@dev",
        "wbraganca/yii2-dynamicform": "dev-master",
        "nkovacs/yii2-datetimepicker": "*",
        "kartik-v/yii2-editable": "*",
        "wbraganca/yii2-fancytree-widget": "*",
        "bower-asset/sweetalert": "1.1.*",
        "bower-asset/sweetalert2": "*",
        "kartik-v/yii2-tree-manager": "@dev",
        "kartik-v/yii2-context-menu": "*",
        "liyunfang/yii2-contextmenu": "*",
        "kartik-v/yii2-export": "*",
        "attybean/yii2-admin":"dev-master",
        "kartik-v/yii2-dynagrid": "@dev",
        "kartik-v/yii2-datecontrol": "dev-master",
        "2amigos/yii2-multi-select-widget" : "*",
        "firebase/php-jwt": "dev-master"
    },
    "require-dev": {
        "yiisoft/yii2-debug": "*",
        "yiisoft/yii2-gii": "*",
        "yiisoft/yii2-faker": "*",
        "codeception/base": "*",
        "phpunit/phpunit": "*",
        "codeception/verify": "*"
    },
    "extra": {
        "asset-installer-paths": {
            "npm-asset-library": "vendor/npm",
            "bower-asset-library": "vendor/bower"
        }
    },
    "config": {
        "process-timeout": 1800,
        "fxp-asset": {
              "asset-installer-paths": {
                "npm-asset-library": "vendor/npm",
                "bower-asset-library": "vendor/bower"
            },
             "installer-paths": {
                "npm-asset-library": "vendor/npm",
                "bower-asset-library": "vendor/bower"
            },
            "repositories": {
                "bower-asset/eve": {
                    "type":"bower-vcs",
                    "url":"https://github.com/adobe-webplatform/eve.git"
                }
            }
        }
    },
    "repositories": [
        {
            "type": "composer",
            "url": "https://asset-packagist.org"
        }
    ]
}

Результаты были одинаковыми до того, как "fxp-asset" или репозитории: "bower-asset / eve" был добавлен в раздел конфигурации composer.json: - (

Можно ли отследить, почему yii2 ищет бауэр, а не бауэр-актив? Папка Vendor была удалена, а кэш композитора очищен, а fxp удален из композитора глобально и требуется снова.

Нет, переименование bower-asset в bower не является предпочтительным решением.

1 Ответ

0 голосов
/ 02 ноября 2018

Вам необходимо изменить псевдонимы в вашей конфигурации:

'aliases' => [
    '@bower' => '@vendor/bower-asset',
    '@npm'   => '@vendor/npm-asset',
],

См. пример в базовом шаблоне приложения .

...