使用自定义nodejs安装运行npm install

我在我的Ubuntu 12.04系统中安装了2个nodejs v0.8.18 (可执行文件名是node )和v0.10.20 (可执行文件名是nodejs )。 当我运行npm install如何指定npm使用名为“nodejs”的可执行文件而不是“node”

如果您实际上想要在各种nodejs发行版之间切换,则会有一个环境variablesNODE_PATH,它控制节点用来访问模块的目录path。 另一个问题是unix用来访问可执行文件IE的env var PATH。 节点和npm

另外,node / npm使用这些目录/文件:

 ~/.npmrc ~/.npm ~/tmp ~/.npm-init.js 

那些可能会或可能不会受到节点的不同版本的影响。 如果您从源代码安装每个版本,则完全控制了NODE_PATH和PATH

所有版本的源代码可在http://nodejs.org/dist/上find

以下是从源代码安装给定发行版的步骤注 – 这将安装nodejs,它既提供节点也提供npm,它们在每个发行版中一起提供。

开始新鲜删除之前的node.js和npm安装以及这些:

 sudo mv ~/.npmrc ~/.npmrc_ignore sudo mv ~/.npm ~/.npm_ignore sudo mv ~/tmp ~/tmp_ignore sudo mv ~/.npm-init.js ~/.npm-init.js_ignore 

安装nodejs和npm作为你自己不要root做这些命令(OSX / linux):

 parent_dir=${HOME}/bin_xxxx # replace bin_xxx with something specific # to node release like bin_v0.10.31 mkdir ${parent_dir} 

http://nodejs.org/download/下载源代码

 cd node-v0.xxxx ./configure --prefix=${parent_dir}/nodejs make -j8 make install 

把它放到上面定义的dir中–prefix

 export PATH=${parent_dir}/nodejs/bin:$PATH 

定义环境variablesNODE_PATH,以便节点可以find模块的目录,否则npm install xxx会把新安装的模块放到目录中curr目录中:

 export NODE_PATH=${parent_dir}/nodejs/lib/node_modules 

做以上和使用语法:npm install -g some_cool_module总是使用-g为全局,所以它被安装到目录$ NODE_PATH而不是你的$ PWD

nodejs install也给你npm:

 ls -la ${parent_dir}/nodejs/bin