引:在安装完nodejs后,通过npm下载全局模块默认安装到{%USERDATA%}C:\Users\username\AppData\下的Roaming\npm下,这当然是不太对的默认。

1,安装LTS版本的nodejs,本文为v6.10.2 (includes npm 3.10.10) .msi,nodejs安装路径会自动添加到PATH环境变量;

本文安装路径为:D:\Program Files\nodejs

修改完成之后:

2,在nodejs安装路径下新建文件夹node_cache用来存放下载包的缓存; 即:D:\Program Files\nodejs\node_cache;

3,运行 npm config set cache "D:\Program Files\nodejs\node_cache" 设置缓存文件夹;

运行npm config set prefix "D:\Program Files\nodejs"设置全局模块存放路径;

注意:nodejs会自动寻找该路径下的node_modules文件夹为实际存放全局模块的路径,这也是为啥叫prefix不叫global的原因;

以后安装的全局模块都会被放到D:\Program Files\nodejs\node_modules下,跟npm模块在一个文件夹中;

4,修改D:\Program Files\nodejs\node_modules\npm\npmrc文件,将默认值改为:

prefix=D:\Program Files\nodejs,如果不做这个修改,则npm在运行 npm ls  -g 的时候,仍然以默认的路径来查找已安装的全局模块;

5,运行npm install express -g 以全局方式安装express模块,可发现,在D:\Program Files\nodejs\node_modules下出现express文件夹;

6,运行npm list -g ,列出所有全局模块:

D:\Program Files\nodejs
+-- express@4.15.2
| +-- accepts@1.3.3
| | +-- mime-types@2.1.15
| | | `-- mime-db@1.27.0
| | `-- negotiator@0.6.1
| +-- array-flatten@1.1.1
| +-- content-disposition@0.5.2
| +-- content-type@1.0.2
| +-- cookie@0.3.1
| +-- cookie-signature@1.0.6
| +-- debug@2.6.1
| | `-- ms@0.7.2
| +-- depd@1.1.0
| +-- encodeurl@1.0.1
| +-- escape-html@1.0.3
| +-- etag@1.8.0
| +-- finalhandler@1.0.2
| | +-- debug@2.6.4
| | | `-- ms@0.7.3
| | `-- unpipe@1.0.0
| +-- fresh@0.5.0
| +-- merge-descriptors@1.0.1
| +-- methods@1.1.2
| +-- on-finished@2.3.0
| | `-- ee-first@1.1.1
| +-- parseurl@1.3.1
| +-- path-to-regexp@0.1.7
| +-- proxy-addr@1.1.4
| | +-- forwarded@0.1.0
| | `-- ipaddr.js@1.3.0
| +-- qs@6.4.0
| +-- range-parser@1.2.0
| +-- send@0.15.1
| | +-- destroy@1.0.4
| | +-- http-errors@1.6.1
| | | `-- inherits@2.0.3
| | `-- mime@1.3.4
| +-- serve-static@1.12.1
| +-- setprototypeof@1.0.3
| +-- statuses@1.3.1
| +-- type-is@1.6.15
| | `-- media-typer@0.3.0
| +-- utils-merge@1.0.0
| `-- vary@1.1.1
`-- npm@3.10.10
+-- abbrev@1.0.9
+-- ansi-regex@2.0.0
+-- ansicolors@0.3.2
+-- ansistyles@0.1.3
+-- aproba@1.0.4
+-- archy@1.0.0
+-- asap@2.0.5
+-- chownr@1.0.1
+-- cmd-shim@2.0.2
+-- columnify@1.5.4
| `-- wcwidth@1.0.0
| `-- defaults@1.0.3
| `-- clone@1.0.2
+-- config-chain@1.1.11
| `-- proto-list@1.2.4
+-- debuglog@1.0.1
+-- dezalgo@1.0.3
+-- editor@1.0.0
+-- fs-vacuum@1.2.9
+-- fs-write-stream-atomic@1.0.8
+-- fstream@1.0.10
+-- fstream-npm@1.2.0
| `-- fstream-ignore@1.0.5
| `-- minimatch@3.0.3
| `-- brace-expansion@1.1.6
| +-- balanced-match@0.4.2
| `-- concat-map@0.0.1
+-- glob@7.1.0
| +-- fs.realpath@1.0.0
| +-- minimatch@3.0.3
| | `-- brace-expansion@1.1.6
| | +-- balanced-match@0.4.2
| | `-- concat-map@0.0.1
| `-- path-is-absolute@1.0.1
+-- graceful-fs@4.1.9
+-- has-unicode@2.0.1
+-- hosted-git-info@2.1.5
+-- iferr@0.1.5
+-- imurmurhash@0.1.4
+-- inflight@1.0.5
+-- inherits@2.0.3
+-- ini@1.3.4
+-- init-package-json@1.9.4
| +-- glob@6.0.4
| | +-- minimatch@3.0.3
| | | `-- brace-expansion@1.1.6
| | | +-- balanced-match@0.4.2
| | | `-- concat-map@0.0.1
| | `-- path-is-absolute@1.0.0
| `-- promzard@0.3.0
+-- lockfile@1.0.2
+-- lodash._baseindexof@3.1.0
+-- lodash._baseuniq@4.6.0
| +-- lodash._createset@4.0.3
| `-- lodash._root@3.0.1
+-- lodash._bindcallback@3.0.1
+-- lodash._cacheindexof@3.0.2
+-- lodash._createcache@3.1.2
+-- lodash._getnative@3.9.1
+-- lodash.clonedeep@4.5.0
+-- lodash.restparam@3.6.1
+-- lodash.union@4.6.0
+-- lodash.uniq@4.5.0
+-- lodash.without@4.4.0
+-- mkdirp@0.5.1
| `-- minimist@0.0.8
+-- node-gyp@3.4.0
| +-- minimatch@3.0.3
| | `-- brace-expansion@1.1.6
| | +-- balanced-match@0.4.2
| | `-- concat-map@0.0.1
| +-- npmlog@3.1.2
| | +-- are-we-there-yet@1.1.2
| | | `-- delegates@1.0.0
| | +-- console-control-strings@1.1.0
| | +-- gauge@2.6.0
| | | +-- has-color@0.1.7
| | | +-- object-assign@4.1.0
| | | +-- signal-exit@3.0.0
| | | +-- string-width@1.0.2
| | | | +-- code-point-at@1.0.0
| | | | | `-- number-is-nan@1.0.0
| | | | `-- is-fullwidth-code-point@1.0.0
| | | | `-- number-is-nan@1.0.0
| | | `-- wide-align@1.1.0
| | `-- set-blocking@2.0.0
| `-- path-array@1.0.1
| `-- array-index@1.0.0
| +-- debug@2.2.0
| | `-- ms@0.7.1
| `-- es6-symbol@3.1.0
| +-- d@0.1.1
| `-- es5-ext@0.10.12
| `-- es6-iterator@2.0.0
+-- nopt@3.0.6
+-- normalize-git-url@3.0.2
+-- normalize-package-data@2.3.5
| `-- is-builtin-module@1.0.0
| `-- builtin-modules@1.1.1
+-- npm-cache-filename@1.0.2
+-- npm-install-checks@3.0.0
+-- npm-package-arg@4.2.0
+-- npm-registry-client@7.2.1
| +-- concat-stream@1.5.2
| | +-- readable-stream@2.0.6
| | | +-- core-util-is@1.0.2
| | | +-- isarray@1.0.0
| | | +-- process-nextick-args@1.0.7
| | | +-- string_decoder@0.10.31
| | | `-- util-deprecate@1.0.2
| | `-- typedarray@0.0.6
| +-- npmlog@3.1.2
| | +-- are-we-there-yet@1.1.2
| | | `-- delegates@1.0.0
| | +-- console-control-strings@1.1.0
| | +-- gauge@2.6.0
| | | +-- has-color@0.1.7
| | | +-- object-assign@4.1.0
| | | +-- signal-exit@3.0.0
| | | +-- string-width@1.0.2
| | | | +-- code-point-at@1.0.0
| | | | | `-- number-is-nan@1.0.0
| | | | `-- is-fullwidth-code-point@1.0.0
| | | | `-- number-is-nan@1.0.0
| | | `-- wide-align@1.1.0
| | `-- set-blocking@2.0.0
| `-- retry@0.10.0
+-- npm-user-validate@0.1.5
+-- npmlog@4.0.0
| +-- are-we-there-yet@1.1.2
| | `-- delegates@1.0.0
| +-- console-control-strings@1.1.0
| +-- gauge@2.6.0
| | +-- has-color@0.1.7
| | +-- object-assign@4.1.0
| | +-- signal-exit@3.0.0
| | +-- string-width@1.0.2
| | | +-- code-point-at@1.0.0
| | | | `-- number-is-nan@1.0.0
| | | `-- is-fullwidth-code-point@1.0.0
| | | `-- number-is-nan@1.0.0
| | `-- wide-align@1.1.0
| `-- set-blocking@2.0.0
+-- once@1.4.0
+-- opener@1.4.2
+-- osenv@0.1.3
| +-- os-homedir@1.0.1
| `-- os-tmpdir@1.0.1
+-- path-is-inside@1.0.2
+-- read@1.0.7
| `-- mute-stream@0.0.5
+-- read-cmd-shim@1.0.1
+-- read-installed@4.0.3
| `-- util-extend@1.0.3
+-- read-package-json@2.0.4
| +-- glob@6.0.4
| | +-- minimatch@3.0.3
| | | `-- brace-expansion@1.1.6
| | | +-- balanced-match@0.4.2
| | | `-- concat-map@0.0.1
| | `-- path-is-absolute@1.0.0
| `-- json-parse-helpfulerror@1.0.3
| `-- jju@1.3.0
+-- read-package-tree@5.1.5
+-- readable-stream@2.1.5
| +-- buffer-shims@1.0.0
| +-- core-util-is@1.0.2
| +-- isarray@1.0.0
| +-- process-nextick-args@1.0.7
| +-- string_decoder@0.10.31
| `-- util-deprecate@1.0.2
+-- readdir-scoped-modules@1.0.2
+-- realize-package-specifier@3.0.3
+-- request@2.75.0
| +-- aws-sign2@0.6.0
| +-- aws4@1.4.1
| +-- bl@1.1.2
| | `-- readable-stream@2.0.6
| | +-- core-util-is@1.0.2
| | +-- isarray@1.0.0
| | +-- process-nextick-args@1.0.7
| | +-- string_decoder@0.10.31
| | `-- util-deprecate@1.0.2
| +-- caseless@0.11.0
| +-- combined-stream@1.0.5
| | `-- delayed-stream@1.0.0
| +-- extend@3.0.0
| +-- forever-agent@0.6.1
| +-- form-data@2.0.0
| | `-- asynckit@0.4.0
| +-- har-validator@2.0.6
| | +-- chalk@1.1.3
| | | +-- ansi-styles@2.2.1
| | | +-- escape-string-regexp@1.0.5
| | | +-- has-ansi@2.0.0
| | | `-- supports-color@2.0.0
| | +-- commander@2.9.0
| | | `-- graceful-readlink@1.0.1
| | +-- is-my-json-valid@2.15.0
| | | +-- generate-function@2.0.0
| | | +-- generate-object-property@1.2.0
| | | | `-- is-property@1.0.2
| | | +-- jsonpointer@4.0.0
| | | `-- xtend@4.0.1
| | `-- pinkie-promise@2.0.1
| | `-- pinkie@2.0.4
| +-- hawk@3.1.3
| | +-- boom@2.10.1
| | +-- cryptiles@2.0.5
| | +-- hoek@2.16.3
| | `-- sntp@1.0.9
| +-- http-signature@1.1.1
| | +-- assert-plus@0.2.0
| | +-- jsprim@1.3.1
| | | +-- extsprintf@1.0.2
| | | +-- json-schema@0.2.3
| | | `-- verror@1.3.6
| | `-- sshpk@1.10.1
| | +-- asn1@0.2.3
| | +-- assert-plus@1.0.0
| | +-- bcrypt-pbkdf@1.0.0
| | +-- dashdash@1.14.0
| | +-- ecc-jsbn@0.1.1
| | +-- getpass@0.1.6
| | +-- jodid25519@1.0.2
| | +-- jsbn@0.1.0
| | `-- tweetnacl@0.14.3
| +-- is-typedarray@1.0.0
| +-- isstream@0.1.2
| +-- json-stringify-safe@5.0.1
| +-- mime-types@2.1.12
| | `-- mime-db@1.24.0
| +-- node-uuid@1.4.7
| +-- oauth-sign@0.8.2
| +-- qs@6.2.1
| +-- stringstream@0.0.5
| +-- tough-cookie@2.3.1
| `-- tunnel-agent@0.4.3
+-- retry@0.10.0
+-- rimraf@2.5.4
+-- semver@5.3.0
+-- sha@2.0.1
+-- slide@1.1.6
+-- sorted-object@2.0.1
+-- strip-ansi@3.0.1
+-- tar@2.2.1
| `-- block-stream@0.0.8
+-- text-table@0.2.0
+-- uid-number@0.0.6
+-- umask@1.1.0
+-- unique-filename@1.1.0
| `-- unique-slug@2.0.0
+-- unpipe@1.0.0
+-- validate-npm-package-license@3.0.1
| +-- spdx-correct@1.0.2
| | `-- spdx-license-ids@1.2.0
| `-- spdx-expression-parse@1.0.2
| +-- spdx-exceptions@1.0.4
| `-- spdx-license-ids@1.2.0
+-- validate-npm-package-name@2.2.2
| `-- builtins@0.0.7
+-- which@1.2.11
| `-- isexe@1.1.2
+-- wrappy@1.0.2
`-- write-file-atomic@1.2.0

包含了express和npm两个模块,及其依赖模块;

7,最后有洁癖的同学可以将用户环境变量中的默认路径删除;

本文包含的方法,并不需要另外设置PATH变量;

-End-

nodejs prefix(全局)和cache(缓存)windows下设置的更多相关文章

  1. 在Windows下设置环境变量 运行mysql程序变得更容易

    在Windows下设置环境变量,点开始菜单,右键单击我的电脑--属性--高级--环境变量 可以看到PATH的变量是这样的: C:\WINDOWS;C:\WINDOWS\COMMAND   为了让运行m ...

  2. windows下设置JupyterNotebook默认目录

    目录 windows下设置JupyterNotebook默认目录 生成配置文件 设置默认工作目录 设置快捷方式中的目标与起始位置 直接修改anaconda中的相关配置文件 windows下设置Jupy ...

  3. Windows下设置Ubuntu引导项

    最近在进行一些实验环境的配置,最终通过双系统实现了多系统的管理,而不仅限于虚拟机的方式.以此方式成功安装了Windows8.1 Pro和Windows 10,原文在此. 在此基础上进一步安装了 Ubu ...

  4. windows下设置/删除Tomcat的开机自启动

    绿色版tomcat在配置好Java环境以后直接运行bin下面的startup.bat就能够正常启动,但是在客户这里很多时候都 需要tomcat开机自动启动.下面简单介绍一如何在windows下面开机自 ...

  5. windows下设置计划任务自动执行PHP脚本

    背景: 环境部署在linux下或者windows中,可以使用windows的自动任务设置自动执行脚本执行一些日常运维任务 图形界面设置相对比较简单 准备工作: wamp(集成的PHP执行环境) 已经写 ...

  6. Windows下设置Mongodb用户名密码

    MongoDB认证: 在默认的情况下,Mongodb是监听在127.0.0.1 IP上的,端口号默认为27017,任何客户端都可以连接,不需要认证 默认情况下,Mongodb也是没有管理账户的,除非你 ...

  7. [转]windows下设置socket的connect超时

    原文地址:http://www.cnblogs.com/BloodAndBone/archive/2012/05/22/2513338.html 变相的实现connect的超时,我要讲的就是这个方法, ...

  8. Windows下设置 ssh key,配置GitHub ssh key

    1.新建一个目录,利用git工具打开 Git Bash Here 2.执行如下命令 ssh-keygen -t rsa -C "email@email.com" 其中邮箱为GitH ...

  9. windows 下设置nginx负载均衡

    #user nobody; worker_processes ; #error_log logs/error.log; #error_log logs/error.log notice; #error ...

随机推荐

  1. 执行一条SQL语句,插入多条数据!

    insert into blog (bid, aid) values (2,1)(2,2)(2,3)

  2. tensorflow随机梯度下降算法使用滑动平均模型

    在采用随机梯度下降算法训练神经网络时,使用滑动平均模型可以提高最终模型在测试集数据上的表现.在Tensflow中提供了tf.train.ExponentialMovingAverage来实现滑动平均模 ...

  3. 解决highCharts导出功能汉化问题

    本文以highCharts中文网上的例子为原型,处理解决highCharts导出功能为英文的问题. 我们使用highCharts当然希望所有提示或文本都是中文的了,但是highCharts的默认语言是 ...

  4. eclipse里将java工程改web工程

    转自:http://blog.csdn.net/heirenheiren/article/details/8488245 把一个普通的eclipse项目转成web项目 1.  编辑工程的.projec ...

  5. 总结一下搭建简单Web服务器的一些方法

    使用nodejs+anywhere模块搭建静态文件服务器 anywhere随时随地将你的当前目录变成一个静态文件服务器的根目录. 安装npm install anywhere -g,然后进入任意目录在 ...

  6. [Node.js] 03 - Buffer, Stream and File IO

    fs 模块,视频教学 os 模块,视频教学,api doc Buffer类 创建 Buffer 类 // 创建一个长度为 10.且用 0 填充的 Buffer. const buf1 = Buffer ...

  7. Hadoop安装教程_集群/分布式配置

    配置集群/分布式环境 集群/分布式模式需要修改 /usr/local/hadoop/etc/hadoop 中的5个配置文件,更多设置项可点击查看官方说明,这里仅设置了正常启动所必须的设置项: slav ...

  8. 理解Generic.xaml和Themes

    "Generic.xaml"这个名称并非偶然 通过上面的叙述,你可能会有冲动将Generic.xaml中的Style代码剪切出来,粘贴到任何一个我们的控件可以找到的地方,然后把Ge ...

  9. react学习笔记(二)编写第一个react组件

    继续上一节课的内容,打开App.js:会看到如下代码: import React, { Component } from 'react';  //在此文件中引用React,以及reat的组件类 imp ...

  10. go语言内置基础类型

    1.数值型(Number) 三种:整数型.浮点型和虚数型(有符号整数表示整数范围 -2n-1~2n-1-1:无符号整数表示整数范围 0~2n-1) go内置整型有:uint8, uint16, uin ...