diff --git a/package_manager/tests/modules/package_manager_bypass/package_manager_bypass.services.yml b/package_manager/tests/modules/package_manager_bypass/package_manager_bypass.services.yml
deleted file mode 100644
index 42e9234669eb51e8f8e5c782da2ac955214d8a27..0000000000000000000000000000000000000000
--- a/package_manager/tests/modules/package_manager_bypass/package_manager_bypass.services.yml
+++ /dev/null
@@ -1,9 +0,0 @@
-services:
-  package_manager_bypass.committer:
-    public: false
-    class: Drupal\package_manager_bypass\Committer
-    decorates: package_manager.committer
-    arguments:
-      - '@package_manager_bypass.committer.inner'
-    properties:
-      - { _serviceId: package_manager.committer }
diff --git a/package_manager/tests/modules/package_manager_bypass/src/PackageManagerBypassServiceProvider.php b/package_manager/tests/modules/package_manager_bypass/src/PackageManagerBypassServiceProvider.php
index e9b95a50efe857846cd262b3ad23311005f9eb74..3394cf4e159b39d300273529e119dc94929346c3 100644
--- a/package_manager/tests/modules/package_manager_bypass/src/PackageManagerBypassServiceProvider.php
+++ b/package_manager/tests/modules/package_manager_bypass/src/PackageManagerBypassServiceProvider.php
@@ -5,6 +5,7 @@ namespace Drupal\package_manager_bypass;
 use Drupal\Core\DependencyInjection\ContainerBuilder;
 use Drupal\Core\DependencyInjection\ServiceProviderBase;
 use Drupal\Core\Site\Settings;
+use Symfony\Component\DependencyInjection\Reference;
 
 /**
  * Defines services to bypass Package Manager's core functionality.
@@ -17,10 +18,24 @@ class PackageManagerBypassServiceProvider extends ServiceProviderBase {
   public function alter(ContainerBuilder $container) {
     parent::alter($container);
 
-    $container->getDefinition('package_manager.beginner')
-      ->setClass(Beginner::class);
-    $container->getDefinition('package_manager.stager')
-      ->setClass(Stager::class);
+    // By default, bypass the Composer Stager library. This can be disabled for
+    // tests that want to use the real library, but only need to disable
+    // validators.
+    if (Settings::get('package_manager_bypass_stager', TRUE)) {
+      $container->getDefinition('package_manager.beginner')
+        ->setClass(Beginner::class);
+      $container->getDefinition('package_manager.stager')
+        ->setClass(Stager::class);
+
+      $container->register('package_manager_bypass.committer')
+        ->setClass(Committer::class)
+        ->setPublic(FALSE)
+        ->setDecoratedService('package_manager.committer')
+        ->setArguments([
+          new Reference('package_manager_bypass.committer.inner'),
+        ])
+        ->setProperty('_serviceId', 'package_manager.committer');
+    }
 
     // Allow functional tests to disable specific validators as necessary.
     // Kernel tests can override the ::register() method and modify the
diff --git a/package_manager/tests/src/Functional/ExcludedPathsTest.php b/package_manager/tests/src/Functional/ExcludedPathsTest.php
index 97ed57a8a29ad10434f9849f0bc87cab338c2d99..f340b96a9033d49e85883601b5b0ef8e1a44a144 100644
--- a/package_manager/tests/src/Functional/ExcludedPathsTest.php
+++ b/package_manager/tests/src/Functional/ExcludedPathsTest.php
@@ -41,6 +41,10 @@ class ExcludedPathsTest extends BrowserTestBase {
     // @see \Drupal\Tests\package_manager\Kernel\WritableFileSystemValidatorTest
     $this->writeSettings([
       'settings' => [
+        'package_manager_bypass_stager' => (object) [
+          'value' => FALSE,
+          'required' => TRUE,
+        ],
         'package_manager_bypass_validators' => (object) [
           'value' => ['package_manager.validator.file_system'],
           'required' => TRUE,
@@ -77,7 +81,7 @@ class ExcludedPathsTest extends BrowserTestBase {
     $stage = new Stage(
       $path_locator->reveal(),
       $this->container->get('package_manager.beginner'),
-      $this->container->get('package_manager.stager'),
+      $stager,
       $this->container->get('package_manager.committer'),
       $this->container->get('package_manager.cleaner'),
       $this->container->get('event_dispatcher')