Skip to content

Commit a008269

Browse files
committed
fix: run mklink through cmd so windows install works
npm install fails on Windows in postinstall with "mklink: command not found". mklink is a cmd.exe builtin rather than an executable, so the sh running this script cannot exec it, and every symlink the install needs is made this way. Routing it through cmd works. Verified on Windows 11 with git-bash: `mklink /J link src` reports command not found, `cmd //c mklink //J link src` reports "Junction created" and the junction resolves. Tested with the same relative paths symlink() passes, from a directory it has cd'd into. The doubled slashes are the usual MSYS escaping, and are safe here because this branch only runs when the OS was detected as cygwin or mingw.
1 parent 2b2f8b3 commit a008269

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎ci/build/npm-postinstall.sh‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ symlink() {
1818
dest="$2"
1919
rm -rf "$dest"
2020
case $OS in
21-
windows) mklink /J "$dest" "$source" ;;
21+
windows) cmd //c mklink //J "$dest" "$source" ;;
2222
*) ln -s "$source" "$dest" ;;
2323
esac
2424
}

0 commit comments

Comments
 (0)