Drupal 8:自定义模块与Bootstrap子主题mint兼容报错(库不存在)
Hey there, let’s work through this library not found issue step by step—this is a super common snag when working with Drupal themes and custom libraries, so we’ll get you sorted quickly.
Common Causes & Fixes
1. Double-Check File Paths & Naming
First, make sure your mint.libraries.yml is in the root directory of your mint subtheme, not nested in a subfolder like /css or /js. Drupal only scans the theme root for this configuration file.
Also, verify the filename is exactly mint.libraries.yml—no typos like mint.library.yml (missing the "s") or incorrect capitalization (Drupal is case-sensitive with filenames).
2. Validate YAML Syntax in mint.libraries.yml
YAML is picky about indentation and structure. Your framework library definition should look something like this (use spaces, not tabs, for indentation):
framework: css: theme: css/framework.css: {} js: js/framework.js: {} dependencies: - core/jquery
If there’s a syntax error (like mismatched indentation or missing colons), Drupal will fail to recognize the library. You can use an online YAML validator to check if your file is valid.
3. Confirm the Library Reference in mint.info.yml
Open your mint.info.yml and ensure you’re referencing the library correctly. It should look like this:
libraries: - mint/framework
Double-check the namespace: it’s your theme name (mint) followed by a slash and the library name (framework). Don’t mix this up with the parent Bootstrap theme’s namespace.
4. Clear Drupal Cache (Non-Negotiable!)
Drupal caches library definitions aggressively. Even if you fixed everything above, you won’t see changes until you clear the cache. You can do this:
- Via the Drupal admin: Go to Configuration > Performance and click "Clear all caches"
- Via Drush: Run
drush cr(ordrush cache-rebuildfor older Drush versions)
5. Ensure Your Subtheme is Enabled
Make sure the mint subtheme is set as your active theme, not just the parent Bootstrap theme. If the parent theme is active, Drupal won’t load your subtheme’s libraries.
6. Investigate Your Custom Module
Since the error started after adding your custom module, it’s likely the culprit. Try disabling the module temporarily—if the error goes away, dig into the module code:
- Did you use hooks like
hook_library_info_alter()that might be modifying or removing your theme’s library? - Is the module changing file permissions or interfering with Drupal’s ability to read your theme’s files?
- Check for any code that might be overriding theme library declarations.
7. Verify File Permissions
Ensure the mint.libraries.yml file and any associated CSS/JS files have proper read permissions for your web server user (e.g., www-data). A safe permission setting is 644 for files and 754 for folders.
Final Tip
Start with the simplest fixes first (cache clear, file naming, syntax check)—these resolve 90% of library not found issues in Drupal. If you’re still stuck, enable Drupal’s debug mode to get more detailed error messages about what’s going wrong.
内容的提问来源于stack exchange,提问作者Uzair Nouman

