Skip to content

Commit d286d11

Browse files
committed
Make npm-postinstall.sh more robust
1 parent b3ae4d6 commit d286d11

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

ci/build/npm-postinstall.sh

+15-3
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,30 @@ set -eu
44
main() {
55
cd lib/vscode
66

7+
if ! echo "$npm_config_user_agent" | grep yarn; then
8+
# We are using npm.
9+
if [ "${npm_config_unsafe_perm-}" != "true" ]; then
10+
echo "Please pass --unsafe-perm to npm to install code-server"
11+
echo "Otherwise the postinstall script does not have permissions to run"
12+
echo "See https://docs.npmjs.com/misc/config#unsafe-perm"
13+
echo "See https://stackoverflow.com/questions/49084929/npm-sudo-global-installation-unsafe-perm"
14+
exit 1
15+
fi
16+
fi
17+
718
# We have to rename node_modules.bundled to node_modules.
819
# The bundled modules were renamed originally to avoid being ignored by yarn.
9-
local node_modules
1020
node_modules="$(find . -depth -name "node_modules.bundled")"
11-
local nm
1221
for nm in $node_modules; do
1322
rm -Rf "${nm%.bundled}"
1423
mv "$nm" "${nm%.bundled}"
1524
done
1625

1726
# Rebuilds native modules.
18-
npm rebuild
27+
# We use `env -i` to reset the environment.
28+
# npm_config_global can make npm rebuild return instantly.
29+
# There may be more so we just do a blanket reset.
30+
env -i "$SHELL" -lc 'npm rebuild --verbose'
1931
}
2032

2133
main "$@"

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "code-server",
33
"license": "MIT",
4-
"version": "3.3.0-rc.21",
4+
"version": "3.3.0-rc.23",
55
"description": "Run VS Code on a remote server.",
66
"homepage": "https://github.com/cdr/code-server",
77
"bugs": {

0 commit comments

Comments
 (0)