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
- Clone the repository:
git clone git@github.com:elyra-ai/pipeline-editor.git
- Navigate to directory:
cd pipeline-editor
- Run:
make clean install dev-link
- Expected: All dependencies installed, local packages linked for development
- 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:
- Start a development server without errors
- See
node_modules populated for all workspace packages
- Have
@elyra/pipeline-editor and @elyra/pipeline-services properly linked in the workspace
- 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:
make clean install dev-link (fails)
- 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
Problem
Following the local installation steps in README.md, the command chain
make clean install dev-linkfails in a fresh environment. The issue is thatmake installdoes not install dependencies beforemake dev-linkattempts to link packages, resulting in missingnode_modulesand broken symlinks.Steps to Reproduce
git clone git@github.com:elyra-ai/pipeline-editor.gitcd pipeline-editormake clean install dev-linkmake dev-linkfails becausenode_modulesdoesn't exist or packages are incompleteRoot Cause
The
Makefiletargets don't enforce dependency ordering. Theinstalltarget likely runsyarn installfor the root workspace, butdev-linkexecutes immediately after without waiting for transitive workspace dependencies to resolve. This is especially problematic when:node_modules@elyra/pipeline-editorand@elyra/pipeline-services)yarn linkcommand in the README expects both packages to already have theirnode_modulespopulatedWhy 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
makebehavior may vary.What Good Looks Like
After running
make clean install dev-link, a contributor should be able to:node_modulespopulated for all workspace packages@elyra/pipeline-editorand@elyra/pipeline-servicesproperly linked in the workspaceProposed Fix
Update the
Makefileto enforce sequential execution:installcompletes fully beforedev-linkstartsyarn installcalls for workspace subdirectories if neededverify-installtarget that validates the setup succeededAlternatively, 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:
make clean install dev-link(fails)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