Composer Yii2 Bower:要发布的文件或目录不存在:C:\myProject\vendor\bower/jquery/dist
Composer Yii2 Bower: The file or directory to be published does not exist: C:\myProject\vendor\bower/jquery/dist
错误信息:
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 资产管理器正在寻找不存在的供应商文件夹 bower 而不是存在的 bower-asset。对别名 composer.json、作曲家 fxp/composer-asset-plugin 的更改似乎对错误没有任何影响。
已尝试以下 Whosebug 食谱:
设置:
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 正在寻找 bower 而不是 bower-asset?
Vendor 文件夹已被删除,composer 缓存已清空,fxp 从 composer 全局删除并再次需要。
不,将 bower-asset 重命名为 bower 不是首选解决方案。
您需要更改配置中的别名:
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],
错误信息:
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 资产管理器正在寻找不存在的供应商文件夹 bower 而不是存在的 bower-asset。对别名 composer.json、作曲家 fxp/composer-asset-plugin 的更改似乎对错误没有任何影响。
已尝试以下 Whosebug 食谱:
设置:
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 正在寻找 bower 而不是 bower-asset? Vendor 文件夹已被删除,composer 缓存已清空,fxp 从 composer 全局删除并再次需要。
不,将 bower-asset 重命名为 bower 不是首选解决方案。
您需要更改配置中的别名:
'aliases' => [
'@bower' => '@vendor/bower-asset',
'@npm' => '@vendor/npm-asset',
],