Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/npm/cli.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorisaacs <i@izs.me>2012-07-13 22:24:20 +0400
committerisaacs <i@izs.me>2012-07-13 22:24:20 +0400
commitd87712eecb049ed47fbd3a5aa1da505ebcd11a2f (patch)
treedb0d64f0597d505bae224b75059f247654637eb2 /scripts
parent6589a195c4e5f5e8e1414d21ab286bca52a30b6c (diff)
Add a script to point the shebang at something else
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/relocate.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/scripts/relocate.sh b/scripts/relocate.sh
new file mode 100755
index 000000000..39e5d7bc8
--- /dev/null
+++ b/scripts/relocate.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Change the cli shebang to point at the specified node
+# Useful for when the program is moved around after install.
+# Also used by the default 'make install' in node to point
+# npm at the newly installed node, rather than the first one
+# in the PATH, which would be the default otherwise.
+
+# bash /path/to/npm/scripts/relocate.sh $nodepath
+# If $nodepath is blank, then it'll use /usr/bin/env
+
+dir="$(dirname "$0")"
+cli="$dir"/bin/npm-cli.js
+tmp="$cli".tmp
+
+node="$1"
+if [ -n "$node" ]; then
+ node="/usr/bin/env node"
+fi
+node="#!$node"
+
+sed -e 1d "$cli" > "$tmp"
+echo "$node" > "$cli"
+cat "$tmp" >> "$cli"
+rm "$tmp"