yidas/yii2-composer-bower-skip
Composer helper for Yii2 that lets you install/update yiisoft/yii2 without Bower asset packages or fxp/composer-asset-plugin. Skips bower-asset dependencies to avoid “no matching package found” errors; keep existing vendor assets or none at all.
Installation:
composer require yidas/yii2-composer-bower-skip --dev
Add the package to your require-dev in composer.json if not using globally.
First Use Case:
composer update or composer install, this package is a quick fix.composer.json under extra:
"extra": {
"asset-installer-yii": "yidas/yii2-composer-bower-skip"
}
composer update or composer install—Bower assets will now be skipped.Where to Look First:
Skipping Bower in Yii2 Projects:
Integration with Laravel (Indirectly):
# In a Laravel project with Yii2 components:
composer require yidas/yii2-composer-bower-skip --dev
composer install --prefer-dist --no-dev # Skip Bower in production
Custom Asset Pipelines:
composer.json:
"extra": {
"asset-installer-yii": "yidas/yii2-composer-bower-skip",
"installer-paths": {
"web/assets/{$name}": ["yii2-vendor/*"]
}
}
Development:
composer install with --prefer-source to test Bower-skipping behavior.web/assets/ if needed.Production:
composer install --no-dev skips Bower entirely.@web/assets/...) still resolve correctly.Laravel-Yii2 Hybrid:
public_path('assets/...')).AssetManager with Laravel’s Asset helper in the same view.Docker/Containerized Environments:
Dockerfile for consistent Bower-free builds:
RUN composer require yidas/yii2-composer-bower-skip --dev
Broken Asset Paths:
//bower_components/...), they’ll fail.AssetBundle or rewrite paths to @web/assets/....Composer Cache Issues:
composer clear-cache
composer install still pulls Bower, check for conflicting asset-installer-yii configs.Yii2 Version Mismatch:
yii2-asset differently.composer.json.Bower Still Runs in Some Cases:
composer update with --prefer-source, Bower might still trigger.-vvv to see asset installer logs.Check Installed Asset Installer:
composer show --installed | grep "asset-installer"
Ensure yidas/yii2-composer-bower-skip appears.
Verify composer.json:
Look for:
"extra": {
"asset-installer-yii": "yidas/yii2-composer-bower-skip",
"yii2-composer-bower-skip": true // Some versions require this
}
Legacy Yii2 Projects:
bower-asset/ in vendor/. Delete or symlink manually:
rm -rf vendor/bower-asset/
ln -s web/assets/ vendor/bower-asset/
Custom Asset Directories:
config/web.php:
'components' => [
'assetManager' => [
'basePath' => '@web/assets',
'baseUrl' => '/assets',
],
],
Replace with Modern Tools:
yii2-asset package for CDN/remote assets.composer.json for npm integration:
"extra": {
"asset-installer-yii": "yidas/yii2-composer-bower-skip",
"installer-paths": {
"web/assets/{$name}": ["node_modules/{$name}"]
}
}
Post-Install Scripts:
post-install-cmd to copy assets from npm to Yii2’s expected location:
"scripts": {
"post-install-cmd": [
"php artisan asset:publish --tag=public --force",
"cp -r node_modules/bootstrap/dist/css bootstrap.css web/assets/"
]
}
How can I help you explore Laravel packages today?