摘自: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:\node\nodejs加入到环境变量PATH中,重启cmd,输入
      node -v
      v0.11.4
        
      npm -v
      1.3.4
5    配置npm选项,将全局模块安装到D:\node\npm-global,npm缓存到D:\node\npm-cache
      npm config set prefix "D:\node\npm-global"
      npm config set cache "D:\node\npm-cache"
准备工作就这么多了,下面可以来尝试下,
      npm install express -g
查看  D:\node\npm-global,D:\node\npm-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:\node\test>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:\node\test\test_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:\node\npm-global\node_modules".
 
参考:

(转)如何制作nodejs,npm “绿色”安装包的更多相关文章

  1. 使用NISI制作.Net程序服务安装包

    1.开篇之前先说一说NISI是什么. NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序.它提供了安装.卸载.系统设置 ...

  2. 使用InstallAnywhere7.1制作Java exe程序安装包

    [转[使用InstallAnywhere7.1制作Java exe程序安装包 使用InstallAnywhere7.1制作Java exe程序安装包 对于已经完成的Java应用程序开发项目,从商业化角 ...

  3. 利用InstallShiled 10.5制作AE应用程序安装包

    [转]利用InstallShiled 10.5制作AE应用程序安装包 作者:3SNEWS 社区ESRI(ArcGIS)版版主:zhaoxiang_whuhttp://www.3snews.net/bb ...

  4. 制作Linux下程序安装包——使用脚本打包bin、run等安装包

    制作简单的安装包的时候可以简单的用cat命令连接两个文件,然后头部是脚本文件,执行的时候把下面的文件分解出来就行了.一般这个后部分的文件是个压缩 包,那样,就能够打包很多文件了,在脚本中解压出来即可. ...

  5. 制作python程序windows安装包(飞机大战源码)

    本文以飞机大战源码为例: 1.首先使用pyinstaller -w xxx.py打包   -w的意思是不显示命令行:飞机大战源码由多个.py文件以及一些图片,音乐文件组成,我们将main.py打包, ...

  6. 用VS制作的windows服务安装包 安装完后如何让服务自动启动

    vs 服务做成安装包,如何安装以后启动服务,只要在类名为projectinstaller的类中重写commit事件即可         public override void Commit(IDic ...

  7. npm install 安装包报错

    D:\hapi_learn>npm .x.x npm ERR! code ENOSELF npm ERR! Refusing to install package with name " ...

  8. ubuntu下npm全局安装包报错的解决方案

    大概就是 npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning ERR ...

  9. vue 不用npm下载安装包 该如何引用js

    公司电脑不让用npm  ,vue的项目要使用moment.js, 用了各种script 引用,总是报错 正确的方式应该为: import {moment} from ‘moment.js ’ 不可以全 ...

随机推荐

  1. CodeForces 297A Parity Game (脑补题)

    题意 一个01串,可以有两种操作:①在末尾添加parity(a):②删除开头的一个字符.其中parity(a),当串中1的个数为奇数时为1,偶数时为0.问某个01串是否可以通过若干操作变成另一个01串 ...

  2. SqlServer和MySQL中存储过程out返回值处理C#代码

    1.SqlServer中out处理 C#代码 #region"SqlServer中存储过程处理out返回值" //public void getdata() //{ // stri ...

  3. rsync的配置文件模板及简单介绍,命令及参数

    必须知道推送有一个限速参数.--bwlimit=100 工作总必须要加.有三种模式,1.本地的模拟cp命令,在一个服务器2.远程的两个服务器之间,模拟scp3.以socket进程监听的方式启动rsyn ...

  4. CF445

    题解: xjb乱判断一下就可以了 代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; int n, ...

  5. C++设计模式之-原型模式

    Prototype 模式也正是提供了自我复制的功能, 就是说新对象的创建可以通过已有对象进行创建.在 C++中,拷贝构造函数( Copy Constructor) 曾经是很对程序员的噩梦,浅层拷贝和深 ...

  6. L159

    Waves are the children of the struggle between ocean and atmosphere, the ongoing signatures of infin ...

  7. c# DataTable行转列

    /// <summary> /// datatable行转列 /// </summary> /// <param name="dtSrc">来源 ...

  8. Linux:xargs命令详解

    xargs 给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据转换成命令行参数,xargs能够处理管道或者stdin并将其转换成特定命令的命令参数.xargs也可以将单行 ...

  9. .NET中,在方法参数的类型前加一个OUT是做什么用的

    话说古时候,在一个名字叫C#的繁华的大城市里面,有两家珠宝加工店,一家叫ref,另外一家叫out. 有一天,有名字叫a和b的两个人每人都各带了一公斤黄金要加工首饰. a去了ref店,ref的掌柜告诉a ...

  10. [Linux] mysql的安装和使用

    1.安装 sudo apt-get install mysql-server sudo apt-get install mysql-client 安装的时候会提示设置密码 2.使用 (1)mysql操 ...