Điểm:0

Composer Remove leaves files and references in composer.lock

lá cờ gg

I'm trying to update my site from D8 to D9 and there are a few modules I no longer need and am trying to get rid of. I run composer remove drupal/varbase_core and it removes it from my composer.json, but leaves several references in composer.lock. I look in the file system and the files are still there and the next time I run composer update, the files are restored.

How can I actually get rid of these modules?

Thanks!

My composer.json file:

{
    "name": "pantheon-systems/example-drops-8-composer",
    "description": "Install drops-8 with Composer on Pantheon.",
    "type": "project",
    "license": "MIT",
    "repositories": [
        {
            "type": "composer",
            "url": "https://packages.drupal.org/8"
        },
        {
            "type": "package",
            "package": {
                "name": "google/charts",
                "version": "45",
                "type": "drupal-library",
                "extra": {
                    "installer-name": "google_charts"
                },
                "dist": {
                    "url": "https://www.gstatic.com/charts/loader.js",
                    "type": "file"
                },
                "require": {
                    "composer/installers": "~1.0"
                }
            }
        }
    ],
    "require": {
        "php": ">=7.2.0",
        "composer/installers": "^1.0.20",
        "cweagans/composer-patches": "^1.0",
        "drupal-composer/drupal-scaffold": "^2.0.1",
        "drupal/admin_toolbar": "^2.0",
        "drupal/adminimal_admin_toolbar": "^1.8",
        "drupal/adminimal_theme": "^1.3",
        "drupal/advanced_text_formatter": "^2.0",
        "drupal/anchor_link": "^1.6",
        "drupal/auto_entitylabel": "^3.0@beta",
        "drupal/autocomplete_deluxe": "^2.0@alpha",
        "drupal/backup_migrate": "^5.0",
        "drupal/better_exposed_filters": "^5.0@alpha",
        "drupal/better_normalizers": "^1.0@beta",
        "drupal/betterlogin": "^1.4",
        "drupal/block_class": "^1.0",
        "drupal/bootstrap_layouts": "^5.1",
        "drupal/cache_control_override": "^1.0@alpha",
        "drupal/captcha": "^1.0",
        "drupal/charts": "^3.2",
        "drupal/checklistapi": "^1.11",
        "drupal/ckeditor_media_embed": "^1.6",
        "drupal/classy_paragraphs": "1.x-dev",
        "drupal/color_field": "^2.2",
        "drupal/colorbox": "^1.4",
        "drupal/colorbox_inline": "^1.2",
        "drupal/commerce": "^2.9",
        "drupal/commerce_authnet": "^1.0",
        "drupal/commerce_product": "^2.25",
        "drupal/commerce_product_bundle": "^1.0@alpha",
        "drupal/commerce_shipping": "^2.0@beta",
        "drupal/components": "^2.4",
        "drupal/config_direct_save": "^1.0",
        "drupal/config_filter": "^1.5",
        "drupal/config_ignore": "^2.2",
        "drupal/config_split": "^1.4",
        "drupal/config_update": "^1.7",
        "drupal/console": "^1",
        "drupal/content_lock": "^2.0",
        "drupal/core": "^8.7.10",
        "drupal/core-recommended": "^8",
        "drupal/createandcontinue": "^1.2",
        "drupal/crop": "2.0.0",
        "drupal/datatables": "^2.0",
        "drupal/date_popup": "^1.1",
        "drupal/default_content": "^1.0@alpha",
        "drupal/devel_entity_updates": "^3.0",
        "drupal/domain": "^1.0@alpha",
        "drupal/domain_entity": "^1.0@alpha",
        "drupal/domain_site_settings": "^1.3",
        "drupal/drd_agent": "^3.13",
        "drupal/dropzonejs_eb_widget": "^2.0@alpha",
        "drupal/ds": "^3.5",
        "drupal/empty_fields": "^1.0@alpha",
        "drupal/entity_browser": "^2.0",
        "drupal/entity_browser_enhanced": "^1.0@RC",
        "drupal/entity_browser_entity_form": "*",
        "drupal/entity_browser_generic_embed": "*",
        "drupal/entity_clone": "^1.0@beta",
        "drupal/entity_embed": "^1.0",
        "drupal/entity_usage": "^2.0@alpha",
        "drupal/entityqueue_form_widget": "^2.0",
        "drupal/features": "^3.8",
        "drupal/field_group": "3.x-dev",
        "drupal/fitvids": "^1.0",
        "drupal/focal_point": "^1.0@beta",
        "drupal/form_mode_manager": "^2.0",
        "drupal/genpass": "^1.0",
        "drupal/geocoder": "^3.11",
        "drupal/google_analytics": "^3.0",
        "drupal/hierarchical_term_formatter": "^1.1",
        "drupal/hreflang": "^1.3",
        "drupal/ief_table_view_mode": "^2.0@beta",
        "drupal/image_widget_crop": "^2.2",
        "drupal/layout_builder_modal": "^1.0",
        "drupal/layout_builder_restrictions": "^2.6",
        "drupal/length_indicator": "^1.1",
        "drupal/libraries": "^3.0@alpha",
        "drupal/link_attributes": "^1.10",
        "drupal/linkit": "5.x-dev@dev",
        "drupal/login_destination": "^2.0@beta",
        "drupal/login_security": "^2.0",
        "drupal/mandrill": "^1.1",
        "drupal/masquerade": "^2.0@beta",
        "drupal/material_base": "^1.8",
        "drupal/maxlength": "^1.0@beta",
        "drupal/menu_admin_per_menu": "^1.0",
        "drupal/menu_block": "^1.5",
        "drupal/menu_link_attributes": "^1.0",
        "drupal/menu_position": "^1.0@alpha",
        "drupal/metatag": "^1.7",
        "drupal/migrate_source_csv": "^3.4",
        "drupal/migrate_tools": "^4.1",
        "drupal/node_edit_protection": "^1.0@alpha",
        "drupal/page_manager": "^4.0@beta",
        "drupal/panels": "^4.6",
        "drupal/paragraphs": "^1.3",
        "drupal/paragraphs_edit": "^2.0@alpha",
        "drupal/password_policy": "^3.0@beta",
        "drupal/pathauto": "^1.2",
        "drupal/pathologic": "^1.0@alpha",
        "drupal/permissions_filter": "^1.1",
        "drupal/persistent_login": "^1.1",
        "drupal/r4032login": "^2.1",
        "drupal/rabbit_hole": "^1.0@beta",
        "drupal/recaptcha": "^3.0",
        "drupal/redirect": "^1.6",
        "drupal/responsive_preview": "^1.0@beta",
        "drupal/revision_log_default": "^1.1",
        "drupal/roleassign": "^1.0@beta",
        "drupal/rules": "3.0-alpha7",
        "drupal/search_api": "^1.9",
        "drupal/search_api_db": "^1.9",
        "drupal/seckit": "^2.0",
        "drupal/security_review": "^1.0@alpha",
        "drupal/shield": "^1.4",
        "drupal/simple_block": "^1.0@beta",
        "drupal/simple_sitemap": "^3.3",
        "drupal/smart_trim": "^1.2",
        "drupal/smtp": "^1.0@beta",
        "drupal/swiftmailer": "^2.0",
        "drupal/telephone_formatter": "^1.0",
        "drupal/telephone_validation": "^2.2",
        "drupal/token": "^1.9",
        "drupal/token_filter": "^1.1",
        "drupal/toolbar_menu": "^2.1",
        "drupal/tour_ui": "^1.0@beta",
        "drupal/twig_tweak": "^2.1",
        "drupal/ultimate_cron": "^2.0@alpha",
        "drupal/update_helper": "^2",
        "drupal/upgrade_status": "^3.13",
        "drupal/username_enumeration_prevention": "^1.0",
        "drupal/userprotect": "^1.1",
        "drupal/views_bootstrap": "^4.2",
        "drupal/views_bulk_edit": "^2.4",
        "drupal/views_bulk_operations": "^3.6",
        "drupal/views_data_export": "^1.0",
        "drupal/viewsreference": "^1.4",
        "drupal/vmi": "^2.5",
        "drupal/webform": "^6.1",
        "drupal/webform_views": "^5.0@alpha",
        "drupal/weight": "^3.1",
        "drupal/yoast_seo": "^1.5",
        "drush-ops/behat-drush-endpoint": "^0.0.5",
        "drush/drush": "~10",
        "emulsify-ds/emulsify-drupal": "2.x",
        "geocoder-php/google-maps-provider": "^4.5",
        "google/charts": "45",
        "guzzlehttp/guzzle": "^6.3",
        "pantheon-systems/quicksilver-pushback": "~1",
        "rvtraveller/qs-composer-installer": "^1.1",
        "wikimedia/composer-merge-plugin": "^1.4"
    },
    "conflict": {
            "drupal/drupal": "*"
    },
    "minimum-stability": "dev",
    "prefer-stable": true,
    "autoload": {
        "classmap": [
            "scripts/composer/ScriptHandler.php"
        ]
    },
    "scripts": {
        "build-assets": [
            "@prepare-for-pantheon",
            "composer install --optimize-autoloader --no-dev"
        ],
        "drupal-scaffold": "DrupalComposer\\DrupalScaffold\\Plugin::scaffold",
        "prepare-for-pantheon": "DrupalProject\\composer\\ScriptHandler::prepareForPantheon",
        "remove-git-submodules": "find . -mindepth 2 -type d -name .git | xargs rm -rf",
        "post-install-cmd": [
            "@drupal-scaffold",
            "DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
            "@remove-git-submodules"
        ],
        "post-update-cmd": [
            "DrupalProject\\composer\\ScriptHandler::createRequiredFiles",
            "@remove-git-submodules"
        ],
        "post-create-project-cmd": [
            "@drupal-scaffold",
            "DrupalProject\\composer\\ScriptHandler::createRequiredFiles"
        ]
    },
    "extra": {
        "installer-paths": {
            "web/core": ["type:drupal-core"],
            "web/libraries/{$name}": ["type:drupal-library"],
            "web/modules/contrib/{$name}": ["type:drupal-module"],
            "web/profiles/contrib/{$name}": ["type:drupal-profile"],
            "web/themes/contrib/{$name}": ["type:drupal-theme"],
            "drush/contrib/{$name}": ["type:drupal-drush"]
        },
        "build-env": {
            "install-cms": [
                "drush site-install standard --account-mail={account-mail} --account-name={account-name} --account-pass={account-pass} --site-mail={site-mail} --site-name={site-name} --yes",
                "drush pm-enable config_direct_save simple_block --yes",
                "drush pm-uninstall block_content --yes"
            ],
            "export-configuration": "drush config-export --yes"
        },
        "drupal-scaffold": {
            "source": "https://raw.githubusercontent.com/pantheon-systems/drops-8-scaffolding/{version}/{path}",
            "includes": [
                "sites/default/default.services.pantheon.preproduction.yml",
                "sites/default/settings.pantheon.php"
            ],
            "excludes": [
                ".csslintrc",
                ".editorconfig",
                ".eslintignore",
                ".eslintrc.json",
                ".htaccess",
                "web.config"
            ]
        },
        "patches": {
            "drupal/domain_entity": {
                "Issue #3005995: Default domain values not being assigned": "https://www.drupal.org/files/issues/2018-10-18/3005995-fix-defaults-add-presave.patch"
            },
            "drupal/core": {
                "Issue #2985882: Error: Call to a member function getLabel() after enable layout_builder": "https://www.drupal.org/files/issues/2018-07-16/2985882-entityfield-2.patch"
            },
            "drupal/entity_embed": {
                "Issue #3070343: Allow to add a Drupal core link with Link Widget for Image entities using Entity Embed Dialog in CKEditor": "https://www.drupal.org/files/issues/2019-07-25/3070343-8.patch"
            },
            "drupal/nodeaccess": {
                "Issue #2985045: The settings do not respond to creating and deleting roles": "https://www.drupal.org/files/issues/2019-02-18/nodeaccess_roles_sync-2985045-14.patch"
            },
            "drupal/recaptcha": {
                "Issue #2493183: Ajax support / Use behaviors for 2.x": "https://www.drupal.org/files/issues/2020-07-29/recaptcha-ajax-2493183-212.patch"
            },
            "drupal/better_exposed_filters": {
                "Issue #3224329: Autosubmit not working with jQuery Datepicker": "https://www.drupal.org/files/issues/2021-07-19/3224329-datepicker-autocomplete-5.patch"
            }
        }
    },
    "config": {
        "optimize-autoloader": true,
        "preferred-install": "dist",
        "sort-packages": true,
        "platform": {
            "php": "7.4.0"
        }
    }
}
leymannx avatar
lá cờ ne
Phiên bản Composer/PHP/OS nào? Bạn có thể xóa chúng theo cách thủ công khỏi composer.json và sau đó chạy `cập nhật trình soạn thảo --lock`. Tiếp theo `cài đặt nhà soạn nhạc` chúng nên được gỡ bỏ.
Delford Chaffin avatar
lá cờ gg
@leymannx - Ubuntu 20.04.2 trên Windows 10 WSL, PHP 7.4.23. Tôi đã chạy với --lock trước đây, nhưng không cài đặt.Chỉ cần thử nó mặc dù và không có gì thay đổi.
leymannx avatar
lá cờ ne
Vì vậy, bạn đã xóa các dòng yêu cầu các phụ thuộc này khỏi composer.json theo cách thủ công? Hay họ chưa bao giờ đến đó? Và trong tệp khóa chúng được liệt kê như thế nào? Là sự phụ thuộc của một số gói khác?
leymannx avatar
lá cờ ne
Bạn có thể thêm comoser.json của mình vào câu hỏi không? Tôi đoán rằng có những gói khác yêu cầu gói lõi varbase này. Ngoài ra, cốt lõi trong tên có thể gợi ý rằng.
Delford Chaffin avatar
lá cờ gg
@leymannx - Tôi đã thử xóa chúng theo cách thủ công khỏi composer.json và xóa chúng bằng lệnh xóa. Vừa rồi tôi đã thử xóa chúng khỏi tệp .lock theo cách thủ công và điều đó không hiệu quả. Tôi cũng đã xóa /vendor và /composer.lock và chạy cài đặt trình soạn thảo và chúng đã hoạt động trở lại. Tôi đã đặt tệp composer.json của mình ở trên, nhưng ba mô-đun hiện không có ở đó. Có varbase_media phụ thuộc vào varbase_code phụ thuộc vào media_entity. Tôi đang cố gắng loại bỏ cả ba.
lá cờ cn
`nhà soạn nhạc tại sao drupal/varbase_core` có thể làm sáng tỏ. Leymannx có thể đúng, một số thứ khác có thể phụ thuộc vào mô-đun đó, vì vậy ngay cả khi bạn xóa nó khỏi các yêu cầu gốc, nó sẽ quay trở lại khi các phụ thuộc được tính toán lại khi cập nhật
Delford Chaffin avatar
lá cờ gg
Mát mẻ. Không biết về lệnh `tại sao` đó. `drupal/varbase_media 5.0.0-alpha5 yêu cầu drupal/varbase_core (*)` ... `drupal/entity_browser_generic_embed 5.0.0-alpha5 yêu cầu drupal/varbase_media (self.version)` ... `drupal/varbase_core 4.1.0 yêu cầu drupal/media_entity (*)' Có vẻ như các phụ thuộc duy nhất chỉ nằm trong số 3 mô-đun đó, tất cả chúng tôi đang cố gắng loại bỏ.
lá cờ cn
Composer.json của bạn có `drupal/entity_browser_generic_embed` trong đó nên điều đó có ý nghĩa. Có lẽ bạn quên loại bỏ cái đó? Để chắc chắn rằng bạn có thể nuke chúng trong một lần `composer remove drupal/varbase_core drupal/varbase_media drupal/entity_browser_generic_embed`
Delford Chaffin avatar
lá cờ gg
@Clive - Tôi nghĩ đó là câu trả lời. Mô-đun đó là một phần của varbase_media và tôi đoán rằng tôi đã bỏ lỡ rằng nó cũng nằm riêng trong composer.json. Cảm ơn!

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.