title: Composer Yii2 Bower: The file or directory to be published does not exist: C:\myProject\vendor\bower/jquery/dist
body: <p>Error message:</p>
  
  <pre><code>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
  </code></pre>
  
  <p>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.</p>
  
  <p>Have tried the following Stackoverflow recipies: </p>
  
  <p><a href="https://stackoverflow.com/questions/34198054/how-to-install-jquery-ui-in-yii2">fix for outdated fxp plugin</a> </p>
  
  <p><a href="https://stackoverflow.com/questions/34872504/yii2-composer-manage-package-in-bower-and-bower-vendor">aliasing bower</a></p>
  
  <p><a href="https://stackoverflow.com/questions/34402608/yii2-fresh-install-vendor-bower-jquery-dist-path-is-wrong">have also tried all of these 'fixes' with no change (describes my problem quite precisely)</a></p>
  
  <p>Setup:</p>
  
  <p>PHP 7.2.11 (same result when tried with 7.1 and 7.0)</p>
  
  <p>Windows 7 Pro 64bit English</p>
  
  <p>Composer Version 1.7.2:</p>
  
  <p>Composer global info:</p>
  
  <pre><code>C:\Users\me\Desktop\test2&gt;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...
  </code></pre>
  
  <p>(the above info informs you of this: fxp/composer-asset-plugin v1.4.4  NPM/Bower Dependency Manager for Composer)</p>
  
  <p>Yii2 composer.json: (perhaps here lies the problem?)</p>
  
  <pre><code>{
      "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": "&gt;=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"
          }
      ]
  }
  </code></pre>
  
  <p>The results were the same before either "fxp-asset" or repositories: "bower-asset/eve" was added to the config section of composer.json :-(</p>
  
  <p>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.</p>
  
  <p>No, renaming bower-asset to bower is not the preferred solution.</p>