-
Notifications
You must be signed in to change notification settings - Fork 649
Open
Description
Summary
Some packages, such as Puppeteer, automatically create symbolic links inside node_modules
. rush deploy
seems to fail when it encounters such a symlink.
Repro steps
Example at:
https://github.com/salieri/rush-issue-with-symlink-and-deploy
This may be MacOS only issue, as I didn't notice it on a Linux VM.
- Clone the repo
rush update
rush deploy --overwrite -p test
Expected result:
Deploy command should complete successfully
Actual result:
% rush --debug deploy --overwrite -p test
Rush Multi-Project Build Tool 5.50.0 - https://rushjs.io
Node.js version is 14.17.0 (LTS)
Starting "rush deploy"
Loading deployment scenario: /path/to/common/config/rush/deploy.json
Deploying to target folder: /path/to/common/deploy
Main project for deployment: test
Deleting target folder contents because "--overwrite" was specified...
Analyzing project: test
Copying folders...
ERROR: Internal Error: The path ends prematurely at: /path/to/common/temp/node_modules/.pnpm/puppeteer@10.1.0/node_modules/puppeteer/.local-chromium/mac-884014/chrome-mac/Chromium.app/Contents/Frameworks/Chromium
Framework.framework/Versions/Current/Chromium Framework
You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
Error: Internal Error: The path ends prematurely at: /path/to/common/temp/node_modules/.pnpm/puppeteer@10.1.0/node_modules/puppeteer/.local-chromium/mac-884014/chrome-mac/Chromium.app/Contents/Frameworks/Chromium Framework.framework/Versions/Current/Chromium Framework
You have encountered a software defect. Please consider reporting the issue to the maintainers of this application.
at SymlinkAnalyzer.analyzePath (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/@microsoft/rush-lib/lib/logic/deploy/SymlinkAnalyzer.js:105:23)
at SymlinkAnalyzer.analyzePath (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/@microsoft/rush-lib/lib/logic/deploy/SymlinkAnalyzer.js:77:45)
at Object.filter (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/@microsoft/rush-lib/lib/logic/deploy/DeployManager.js:299:53)
at startCopy (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:35:28)
at copyDirItem (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:118:10)
at /Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:111:39
at Array.forEach (<anonymous>)
at copyDir (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:111:23)
at mkDirAndCopy (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:106:3)
at onDir (/Users/<user>/.rush/node-v14.17.0/rush-5.50.0/node_modules/fs-extra/lib/copy-sync/copy-sync.js:97:37)
Details
The issue is caused by SymlinkAnalyzer.ts expecting nothing but 'real' (non-symlink) directories in the path.
Standard questions
Please answer these questions to help us investigate your issue more quickly:
Question | Answer |
---|---|
@microsoft/rush globally installed version? |
5.47.0 |
rushVersion from rush.json? |
5.50.0 |
useWorkspaces from rush.json? |
true |
Operating system? | MacOS |
Would you consider contributing a PR? | Maybe |
Node.js version (node -v )? |
14.17.0 |
IlyaSemenov, stephenash, schantaraud, vegano1, ali-baykal and 4 more
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
Needs triage