Composer Yii2 Bower: The file or directory to be published does not exist: C:\myProject\vendor\bower/jquery/dist

11,972

You need to change aliases in your config:

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

See example in basic app template.

Share:
11,972
aalesund
Author by

aalesund

$my_array = [Christian, Family, Friends, MariaDb, PHP, Debian, YII2, Javascript, CSS]; $preserve_order_of_array = true; How many lines must I write to get the Autobiography badge? How many lines must I write to get the Autobiography badge? How many lines must I write to get the Autobiography badge? How many lines must I write to get the Autobiography badge? How many lines must I write to get the Autobiography badge?

Updated on June 16, 2022

Comments

  • aalesund
    aalesund almost 2 years

    Error message:

    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
    

    Problem: yii2 asset manager is looking for the vendor folder bower which does not exist and not bower-asset which does exist. Changes to aliases, composer.json, composer, fxp/composer-asset-plugin do not seem to have any affect on the error.

    Have tried the following Stackoverflow recipies:

    fix for outdated fxp plugin

    aliasing bower

    have also tried all of these 'fixes' with no change (describes my problem quite precisely)

    Setup:

    PHP 7.2.11 (same result when tried with 7.1 and 7.0)

    Windows 7 Pro 64bit English

    Composer Version 1.7.2:

    Composer global info:

    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...
    

    (the above info informs you of this: fxp/composer-asset-plugin v1.4.4 NPM/Bower Dependency Manager for Composer)

    Yii2 composer.json: (perhaps here lies the problem?)

    {
        "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"
            }
        ]
    }
    

    The results were the same before either "fxp-asset" or repositories: "bower-asset/eve" was added to the config section of composer.json :-(

    Is it possible to track down why yii2 is looking for bower and not bower-asset? Vendor folder has been deleted and composer cache emptied as well as fxp removed from composer globally and required again.

    No, renaming bower-asset to bower is not the preferred solution.

  • Aman Deep
    Aman Deep about 5 years
    Not worked for me. i tried: 1). 'aliases' => [ '@bower' => '@vendor/bower', '@npm' => '@vendor/npm-asset', ], 2. Rename Folder bower-asset to bower and vice versa. 3. Giving proper read write permissions
  • user206
    user206 almost 5 years
    Thankful.The answer is quite helpful. I upvoted it for this reason. Can I use Yii :: setAlias()?
  • Yury Euceda
    Yury Euceda about 2 years
    This is the correct answer but I want to mention that you can use this github.com/yiisoft/yii2-app-advanced/blob/master/common/conf‌​ig/… for reference if you are using advanced template