Skip to content

Installation fails in fresh environment: make clean install dev-link breaks on missing dependencies #250

Description

@KlementMultiverse

Problem

Following the local installation steps in README.md, the command chain make clean install dev-link fails in a fresh environment. The issue is that make install does not install dependencies before make dev-link attempts to link packages, resulting in missing node_modules and broken symlinks.

Steps to Reproduce

  1. Clone the repository: git clone git@github.com:elyra-ai/pipeline-editor.git
  2. Navigate to directory: cd pipeline-editor
  3. Run: make clean install dev-link
  4. Expected: All dependencies installed, local packages linked for development
  5. Actual: make dev-link fails because node_modules doesn't exist or packages are incomplete

Root Cause

The Makefile targets don't enforce dependency ordering. The install target likely runs yarn install for the root workspace, but dev-link executes immediately after without waiting for transitive workspace dependencies to resolve. This is especially problematic when:

  • Running on a machine without cached node_modules
  • Using monorepo workspaces (@elyra/pipeline-editor and @elyra/pipeline-services)
  • The yarn link command in the README expects both packages to already have their node_modules populated

Why This Matters

Issue #158 directly blocks new contributors. The README is the first thing developers read, and when the documented workflow fails immediately, it creates friction before they can even evaluate the project. This is especially problematic for contributors on different platforms (macOS/Linux/Windows) where make behavior may vary.

What Good Looks Like

After running make clean install dev-link, a contributor should be able to:

  1. Start a development server without errors
  2. See node_modules populated for all workspace packages
  3. Have @elyra/pipeline-editor and @elyra/pipeline-services properly linked in the workspace
  4. Run tests and build commands without "package not found" errors

Proposed Fix

Update the Makefile to enforce sequential execution:

  • Ensure install completes fully before dev-link starts
  • Add explicit yarn install calls for workspace subdirectories if needed
  • Document any platform-specific requirements (Node version, yarn version, OS constraints)
  • Consider adding a verify-install target that validates the setup succeeded

Alternatively, provide a shell script (./scripts/setup-dev.sh) that explicitly handles the installation sequence and provides clearer error messages on failure.

Additional Context

The current README shows two different installation approaches:

  1. make clean install dev-link (fails)
  2. Manual yarn link (unclear if this works after option 1 fails)

These should converge on a single, working path that works for fresh clones.


Contributed by Klement Gunndu

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions