-
-
Save kastork/1623343 to your computer and use it in GitHub Desktop.
Use one of these techniques to install node and npm without having to sudo. Discussed in more detail at http://joyeur.com/2010/12/10/installing-node-and-npm/ Note: npm >=0.3 is *safer* when using sudo.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
On my OSX Lion box with an up to date MacPorts installation the following does not work | |
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
. ~/.bashrc | |
mkdir ~/local | |
mkdir ~/node-latest-install | |
cd ~/node-latest-install | |
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
./configure --prefix=~/local | |
make install # ok, fine, this step probably takes more than 30 seconds... | |
curl http://npmjs.org/install.sh | sh | |
What I had to do: | |
1. make the path assignment in my ~/.profile | |
2. sudo port select gcc gcc42 | |
3. ./configure --prefix=/Users/myusername/local | |
Why: | |
1. I don't have a ~/.bashrc, I have a ~/.profile | |
2. At the present moment, the Macports default active gcc is 'mp-gcc44' and I get failures | |
3. If I say ./configure --prefix=~/local I get an error in config ("no such commmand /Users/myusername/local"), and the make fails because it doesn't have access to /usr/local. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# this way is best if you want to stay up to date | |
# or submit patches to node or npm | |
mkdir ~/local | |
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc | |
. ~/.bashrc | |
# could also fork, and then clone your own fork instead of the official one | |
git clone git://github.com/joyent/node.git | |
cd node | |
./configure --prefix=~/local | |
make install | |
cd .. | |
git clone git://github.com/isaacs/npm.git | |
cd npm | |
make install # or `make link` for bleeding edge |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# take ownership of the folders that npm/node use | |
# please don't do this if you don't know what it does! | |
sudo mkdir -p /usr/local/{share/man,bin,lib/node,include/node} | |
sudo chown -R $USER /usr/local/{share/man,bin,lib/node,include/node} | |
# now just a pretty vanilla node install | |
# let it use the default paths, but don't use sudo, since there's no need | |
mkdir node-install | |
curl http://nodejs.org/dist/node-v0.4.3.tar.gz | tar -xzf - -C node-install | |
cd node-install/* | |
./configure | |
make install | |
# now the npm easy-install | |
curl http://npmjs.org/install.sh | sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# using Homebrew | |
# Note: `brew install npm` has problems, as of 2010-12-30. | |
# hopefully it will eventually be good and happy. | |
# As of npm@0.2.13, however, this is an option | |
PREFIX=$(brew --prefix) | |
# take ownership | |
# this will also let homebrew work without using sudo | |
# please don't do this if you don't know what it does! | |
sudo mkdir -p $PREFIX/{share/man,bin,lib/node,include/node} | |
sudo chown -R $USER $PREFIX/{share/man,bin,lib/node,include/node} | |
brew install node | |
# now install npm | |
# prefix will default to $(brew --prefix) | |
curl http://npmjs.org/install.sh | sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
echo 'export PATH=$HOME/.local/bin:$PATH' >> ~/.bashrc | |
echo 'export npm_config_userconfig=$HOME/.config/npmrc' >> ~/.bashrc | |
. ~/.bashrc | |
mkdir ~/.local | |
mkdir ~/node-latest-install | |
cd ~/node-latest-install | |
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1 | |
./configure --prefix=~/.local | |
make install | |
curl http://npmjs.org/install.sh | sh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# install node wherever. | |
# use sudo even, it doesn't matter | |
# we're telling npm to install in a different place. | |
echo prefix = ~/local >> ~/.npmrc | |
curl http://npmjs.org/install.sh | sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment