(转)如何制作nodejs,npm “绿色”安装包

 
摘自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=8625039&id=3817492
 
 
 
由于公司环境使用内网,在进行node.js编码时,可能需要其他的module,灰常不方便。于是从网上搜索资料,找了一个方法(先试试windows版本下的),可以直接拷贝所需文件,直接使用,无需重复安装或者下载,其过程如下:
1    从http://nodejs.org/dist下载最新版本的node.exe(v0.11.4),npm-1.2.22.tgz
2    以D盘为根目录为例,
      mkdir node    
      mkdir nodejs                 //    存放node程序和npm模块
      mkdir npm-global         //    存放node全局模块
      mkdir npm-cache         //    npm缓存路径
3    将下载的node.exe,npm文件拷贝到nodejs目录下,解压npm压缩包到当前目录,这样会在 nodejs目录下出现npm的CLI执行脚本文件npm.cmd以及node_modules目录,打开该目录会发现是npm模块的代码。
4    将D: ode odejs加入到环境变量PATH中,重启cmd,输入
      node -v
      v0.11.4
        
      npm -v
      1.3.4
5    配置npm选项,将全局模块安装到D: ode pm-global,npm缓存到D: ode pm-cache
      npm config set prefix "D: ode pm-global"
      npm config set cache "D: ode pm-cache"
准备工作就这么多了,下面可以来尝试下,
      npm install express -g
查看  D: ode pm-global,D: ode pm-cache目录下的文件,是不是多了很多文件呢 ^_^
 
好了,我们用官方的示例测试下,

点击(此处)折叠或打开

  1. var express = require('express');
     
  2. var app = express();
     
  3. app.get('/', function(req, res){
     
  4.   res.send('hello world');
     
  5. });
  6. app.listen(3000);

执行node *.js,没有任何提示,说明绿色版构建成功,如果需要在其他机器上使用,直接拷贝node文件夹即可!
 
需要注意的是,首次测试的时候,出现

点击(此处)折叠或打开

    1. D: ode est>node test_express.js 
       

  1. module.js:333 
  2.     throw err; 
  3. Error: Cannot find module 'express' 
  4.     at Function.Module._resolveFilename (module.js:331:15) 
  5.     at Function.Module._load (module.js:273:25) 
  6.     at Module.require (module.js:357:17) 
  7.     at require (module.js:373:17) 
  8.     at Object.<anonymous> (D: ode est est_express.js:1:77) 
  9.     at Module._compile (module.js:449:26) 
  10.     at Object.Module._extensions..js (module.js:467:10) 
  11.     at Module.load (module.js:349:32) 
  12.     at Function.Module._load (module.js:305:12) 
  13.     at Function.Module.runMain (module.js:490:10)
 
错误提示找不到 express模块,需要加入环境变量 NODE_PATH="D: ode pm-global ode_modules".
 
参考:
原文地址:https://www.cnblogs.com/antyi/p/5345129.html