主页 > 知识库 > 网络编程 > 其他 >

【nodejs那些事儿】Nodejs && npm超灵活安装 -- Windows篇

来源:CNode社区 作者:sunshine1988 发表于:2012-07-02 09:23  点击:
摘要 不用官网首页的msi安装NodeJS npm Windows下如何方便管理使用Node的多个版本 灵活安装配置,方便多台计算机直接拷贝使用 前言 子在两千多年以前就曾经曰过, He said, 学而不思则罔,思而不学则怠, 所以,学习还是要经常总结的(呃,子曰的那句话是这个

摘要

不用官网首页的msi安装NodeJS && npm

Windows下如何方便管理使用Node的多个版本

灵活安装配置,方便多台计算机直接拷贝使用

前言

 子在两千多年以前就曾经曰过, He said, “学而不思则罔,思而不学则怠”, 所以,
学习还是要经常总结的(呃,子曰的那句话是这个意思吗??)~ 因此,我打算写一个系列的关于
NodeJS文章,一来记录整理一下自己学习NodeJS过程中的小心得,二来拿出来分享给大家,关于
同一主题,我们可以一起讨论一下。 这个系列的文章,肯定得从基础说起,但是争取不是那么水,
大牛们也别看见基础的东西就只是华丽丽滴路过,一般真知灼见都体现在基础知识上的哦~嘿嘿 所以 
我只是抛砖引玉,还望大牛们不吝分享自己的相关经验!! 
我的github主页sunshine1988,嘿嘿 暂时没多少干货,过几天有空了把以前写的几个东东更新上去!

计划

先计划一下要写的内容吧:
NodeJS && npm超灵活安装 -- Windows

NodeJS && npm超灵活安装 -- Linux篇

npm常用命令详解

模块安装及路径配置

国内外NodeJS资源博客、社区收集分享

Node调试工具及技巧(开发环境调试,线上调试,内存泄露调试。。。)

local module开发总结

global && CLI module开发总结

nodejs运行云服务平台总结
国外如 cloudfoundry、heroku、nodejitsu、NodeSocket,国内的当然是NAE喽,嘿嘿 不过 我还目前没有NAE的邀请码,木有试用过,国外的几个都用过了~
web框架系列。。。
哎,先想这些吧,后面还会写到关于session啊,流程控制&异步编程辅助啊,SQL客户端啊等等这些中间件模块的总结,写到那儿再说吧,反正是边学习边总结的!

正文

好啦,开始开天辟地第一篇~
如果在Node 0.4.x 版本以前说说Windows下的安装可能还有点讲头儿,现在人家官网都发布release版的msi文件了,还想说啥子呢?? 谁不会双击安装程序,然后无脑的一直“下一步”啊~
嗯 但是我第一次使用Node官网的msi安装,就再也不想用了! 首先,这个安装包功能上很像一个自解压包,而且“自解压“的路径还不询问你,官网文档还没有说明,第一次我安装完以后的感觉就是,我刚才做了什么,桌面上 木有快捷方式,开始菜单没有启动项,这尼玛是要闹哪样啊?刚才装的Node呢??(请以一位Node初探者的身份考虑这种状况,反正遥想当年我是忍不住竖 了下中指!)
废话讲了这么多,来点儿干货吧~
msi安装文件默认是安装(自解压)在Windows用户文件夹根目录底下的,以我的为例是:
C:\Users\Administrator 
会有
node/ node执行程序和npm模块

npm/ 默认的全局模块安装路径前缀

npm-cache/ npm安装模块的缓存目录,离线状态可以从这里读取方便安装

.npmrc 文本文件,存放npm的userconfig配置(后面会提到)

其他的一些相关文件或目录也会默认创建在此目录下
注:多谢@be5invis提醒,现在是默认装到Program Files\nodejs下, npm 的 repo在 %USERPROFILE%\AppData\Roaming\npm 且会自动加到系统PATH
node 和 npm 会加到 PATH 里
其实,node目录下的node.exe就是一个绿色的可执行文件,拷到哪儿都可以用~

而npm也只不过是Node的一个全局模块而已~

弄清了这俩货的本质以后,那我们就可以为所欲为喽,下面我们来看如何灵活组织node执行程序,可以方便管理,随意拷贝,又能多版本共存使用!
后来又去官网,才发现人家提供这些单独的release files,在这里选择一个版本,以现在的node-0.6.17 npm-1.1.21为例:

首先,可以建立一个wrap文件夹,以在D盘根目录为例:
d: mkdir node cd node
建立几个子目录:
mkdir nodejs //存放node程序和npm模块 mkdir npm-global //存放node全局模块 mkdir npm-cache //npm
缓存路径
然后,我们把node.exe文件和npm-1.1.21.zip文件拷贝到nodejs目录下,解压npm压缩包到当前目录,这样会在nodejs目录下出现npm的CLI执行脚本文件npm.cmd以及node_modules目录,打开该目录会发现是npm模块的代码!

哦了,我们把D:\node\nodejs路径加到系统环境变量PATH里面,重启CMD窗口,就哦了~
验证下吧:
node -v npm -v
想必,到这里大家也已经有多版本共存的思路了吧,既然node.exe只是个单独的可执行程序,那直接把其他版本的拷到系统路径里面不就可以了,然后以版本号为后缀改名,用的时候,直接运行特殊的node版本即可~

下面是我的这个目录的截图:

Windows下Node程序多版本管理
验证下吧:
node -v node-0.6.15 -v
那如何配置全局模块的安装路径到node-global文件夹,npm缓存到npm-cache文件夹呢?

这个属于npm配置选项了,后面文章会再详细讲到,这里只给出方法:

很简单:
npm config set prefix "D:\node\node-global" npm config set cache "D:\node\node-cache"
node全局模块大多数都是提供命令行访问的,所以还要把D:\node\node-global加到系统PATH里面,方面直接运行使用!!
验证下吧,装个全局模块:
npm install express -g
查看下node-globalnode-cache文件夹下是否有惊喜,嘿嘿~
这样,我们如果想把一台电脑上安装的Node程序以及相关资源(全局模块,模块缓存等)挪到其他机子上,那就把node整个目录拷贝走,然后在那台机子上按需配置下相关路径就大功告成啦,以前安装的模块缓存都有了,其他机子不上网照样可以安装模块~~

温馨提示: 缓存目录下文件会很多,所以谨慎拷贝哦~

后话

终于写完一篇了,万事开头难,可真难啊~~

嘿嘿 干货不多!但是希望对初学者有帮助~~

其实Windows下安装Node程序还有好多我没提到甚至我都没研究到的东西,比如说如果从源码直接编译安装,这些我还没有研究到,希望有经验的大牛牛们,有时间精力分享下~~

    有帮助
    (7)
    77.8%
    没帮助
    (2)
    22.2%