Browse Source

Merge pull request #189 from kt3k/feature/hyphen-s-option-2

Add -s option to force install from source
master
Tim Caswell 12 years ago
parent
commit
e145978e73
  1. 3
      README.markdown
  2. 24
      nvm.sh
  3. 14
      test/slow/install from binary
  4. 14
      test/slow/install from source

3
README.markdown

@ -144,3 +144,6 @@ on Arch Linux and other systems using python3 by default, before running *instal @@ -144,3 +144,6 @@ on Arch Linux and other systems using python3 by default, before running *instal
export PYTHON=python2
After the v0.8.6 release of node, nvm tries to install from binary packages. But in some systems, the official binary packages don't work due to incompatibility of shared libs. In such cases, use `-s` option to force install from source:
nvm install -s 0.8.6

24
nvm.sh

@ -151,7 +151,7 @@ nvm() @@ -151,7 +151,7 @@ nvm()
echo
echo "Usage:"
echo " nvm help Show this message"
echo " nvm install <version> Download and install a <version>"
echo " nvm install [-s] <version> Download and install a <version>"
echo " nvm uninstall <version> Uninstall a version"
echo " nvm use <version> Modify PATH to use <version>"
echo " nvm run <version> [<args>] Run <version> with <args> as arguments"
@ -180,6 +180,7 @@ nvm() @@ -180,6 +180,7 @@ nvm()
local sum
local tarball
local shasum='shasum'
local nobinary
if [ ! `which curl` ]; then
echo 'NVM Needs curl to proceed.' >&2;
@ -193,10 +194,20 @@ nvm() @@ -193,10 +194,20 @@ nvm()
nvm help
return
fi
VERSION=`nvm_remote_version $2`
ADDITIONAL_PARAMETERS=''
shift
nobinary=0
if [ "$1" = "-s" ]; then
nobinary=1
shift
fi
VERSION=`nvm_remote_version $1`
ADDITIONAL_PARAMETERS=''
shift
while [ $# -ne 0 ]
do
ADDITIONAL_PARAMETERS="$ADDITIONAL_PARAMETERS $1"
@ -205,19 +216,21 @@ nvm() @@ -205,19 +216,21 @@ nvm()
[ -d "$NVM_DIR/$VERSION" ] && echo "$VERSION is already installed." && return
# skip binary install if no binary option specified.
if [ $nobinary -ne 1 ]; then
# shortcut - try the binary if possible.
if [ -n "$os" ]; then
binavail=
# binaries started with node 0.8.6
case "$VERSION" in
v0.8.[012345]) binavail=0 ;;
v0.[1234567]) binavail=0 ;;
v0.[1234567].*) binavail=0 ;;
*) binavail=1 ;;
esac
if [ $binavail -eq 1 ]; then
t="$VERSION-$os-$arch"
url="http://nodejs.org/dist/$VERSION/node-${t}.tar.gz"
sum=`curl -s http://nodejs.org/dist/$VERSION/SHASUMS.txt.asc | grep node-${t}.tar.gz | awk '{print $1}'`
sum=`curl -s http://nodejs.org/dist/$VERSION/SHASUMS.txt | grep node-${t}.tar.gz | awk '{print $1}'`
if (
mkdir -p "$NVM_DIR/bin/node-${t}" && \
cd "$NVM_DIR/bin" && \
@ -236,6 +249,7 @@ nvm() @@ -236,6 +249,7 @@ nvm()
fi
fi
fi
fi
echo "Additional options while compiling: $ADDITIONAL_PARAMETERS"

14
test/slow/install from binary

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
#!/bin/sh
set -e
. ../../nvm.sh
# Remove the stuff we're clobbering.
[ -e ../../v0.8.6 ] && rm -R ../../v0.8.6
# Install from binary
nvm install 0.8.6
# Check
[ -d ../../v0.8.6 ]
nvm run v0.8.6 --version | grep v0.8.6

14
test/slow/install from source

@ -0,0 +1,14 @@ @@ -0,0 +1,14 @@
#!/bin/sh
set -e
. ../../nvm.sh
# Remove the stuff we're clobbering.
[ -e ../../v0.8.6 ] && rm -R ../../v0.8.6
# Install from source
nvm install -s 0.8.6
# Check
[ -d ../../v0.8.6 ]
nvm run v0.8.6 --version | grep v0.8.6
Loading…
Cancel
Save