【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程

笔者因为遇到一点问题,需要重新安装nodejs,之前使用的是安装版,还得卸载,卸载后觉得还是有必要学习一下非安装版的配置,这次特地使用非安装版的,手动进行环境变量配置。

1、下载nodejs

nodejs淘宝镜像地址:
https://npm.taobao.org/mirrors/node

这里我下载了node-v12.22.3-win-x64.7z,下载地址:
https://npm.taobao.org/mirrors/node/latest-v12.x/node-v12.22.3-win-x64.7z

将其解压到我的特定地址D:\developmentEnvironment\nodejs\v12.22.3,并新建两个文件夹,分别为:

node_cache (存放npm缓存)
node_global (存放npm全局安装的模块)

如下图所示
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程

2、配置系统环境变量

新建如下表的系统变量

变量名 变量值 备注
CURRENT_NODE_VERSION v12.22.3 当前NODEJS版本
NODE_HOME D:\developmentEnvironment\nodejs\%CURRENT_NODE_VERSION% 当前NODEJS路径
NPM_CACHE %NODE_HOME%\node_cache NPM缓存文件夹
NPM_PREFIX %NODE_HOME%\node_global NPM全局模块安装文件夹

双击编辑系统变量Path,添加如下路径

NODE_HOME
NPM_PREFIX

如下图
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程

3、修改NODEJS的配置,改变NPM缓存和NPM全局模块安装路径

cmd执行

C:\Users\xiaoyao>npm config set prefix %NPM_PREFIX%

C:\Users\xiaoyao>npm config set cache %NPM_CACHE%

但是后面发现一点问题,如下:

DEBUG 210728

发现npm config set prefix %NPM_CACHE%后的cache路径不正确,如下

C:\Users\xiaoyao>npm config ls -l
; cli configs
long = true
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.14.13 node/v12.22.3 win32 x64"

; userconfig C:\Users\xiaoyao\.npmrc
cache = "C:\\Users\\xiaoyao\\%NPM_CACHE%"
config = "cache"
electron_mirror = "https://npm.taobao.org/mirrors/electron/"
phantomjs_cdnurl = "https://npm.taobao.org/mirrors/phantomjs/"
prefix = "D:\\developmentEnvironment\\nodejs\\v12.22.3\\node_global"
registry = "https://registry.npm.taobao.org/"
sass_binary_site = "https://npm.taobao.org/mirrors/node-sass/"

此时建议手动打开.npmrc文件编辑cache路径,如我当前用户的npm配置文件位置是
‪C:\Users\xiaoyao\.npmrc
修改成如下内容

registry=https://registry.npm.taobao.org/
sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
phantomjs_cdnurl=https://npm.taobao.org/mirrors/phantomjs/
electron_mirror=https://npm.taobao.org/mirrors/electron/
prefix=D:\developmentEnvironment\nodejs\v12.22.3\node_global
cache=D:\developmentEnvironment\nodejs\v12.22.3\node_cache
config=cache

注:由于nodejs是从淘宝镜像地址下载的,里面带的npm镜像源地址已经默认配置成了淘宝镜像地址,所以不需要设置。

查看npm的配置信息:npm config -l ls

C:\Users\xiaoyao>npm config ls -l
; cli configs
long = true
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.14.13 node/v12.22.3 win32 x64"

; userconfig C:\Users\xiaoyao\.npmrc
cache = "D:\\developmentEnvironment\\nodejs\\v12.22.3\\node_cache"
config = "cache"
electron_mirror = "https://npm.taobao.org/mirrors/electron/"
phantomjs_cdnurl = "https://npm.taobao.org/mirrors/phantomjs/"
prefix = "D:\\developmentEnvironment\\nodejs\\v12.22.3\\node_global"
registry = "https://registry.npm.taobao.org/"
sass_binary_site = "https://npm.taobao.org/mirrors/node-sass/"

; default values
access = null
allow-same-version = false
also = null
always-auth = false
audit = true
audit-level = "low"
auth-type = "legacy"
before = null
bin-links = true
browser = null
ca = null
; cache = "C:\\Users\\xiaoyao\\AppData\\Roaming\\npm-cache" (overridden)
cache-lock-retries = 10
cache-lock-stale = 60000
cache-lock-wait = 10000
cache-max = null
cache-min = 10
cafile = undefined
cert = null
cidr = null
color = true
commit-hooks = true
depth = null
description = true
dev = false
dry-run = false
editor = "notepad.exe"
engine-strict = false
fetch-retries = 2
fetch-retry-factor = 10
fetch-retry-maxtimeout = 60000
fetch-retry-mintimeout = 10000
force = false
format-package-lock = true
fund = true
git = "git"
git-tag-version = true
global = false
global-style = false
globalconfig = "D:\\developmentEnvironment\\nodejs\\v12.22.3\\node_global\\etc\\npmrc"
globalignorefile = "D:\\developmentEnvironment\\nodejs\\v12.22.3\\node_global\\etc\\npmignore"
group = 0
ham-it-up = false
heading = "npm"
https-proxy = null
if-present = false
ignore-prepublish = false
ignore-scripts = false
init-author-email = ""
init-author-name = ""
init-author-url = ""
init-license = "ISC"
init-module = "C:\\Users\\xiaoyao\\.npm-init.js"
init-version = "1.0.0"
json = false
key = null
legacy-bundling = false
link = false
local-address = undefined
loglevel = "notice"
logs-max = 10
; long = false (overridden)
maxsockets = 50
message = "%s"
; metrics-registry = null (overridden)
node-options = null
node-version = "12.22.3"
noproxy = null
offline = false
onload-script = null
only = null
optional = true
otp = null
package-lock = true
package-lock-only = false
parseable = false
prefer-offline = false
prefer-online = false
; prefix = "D:\\developmentEnvironment\\nodejs\\v12.22.3" (overridden)
preid = ""
production = false
progress = true
proxy = null
read-only = false
rebuild-bundle = true
; registry = "https://registry.npmjs.org/" (overridden)
rollback = true
save = true
save-bundle = false
save-dev = false
save-exact = false
save-optional = false
save-prefix = "^"
save-prod = false
scope = ""
script-shell = null
scripts-prepend-node-path = "warn-only"
searchexclude = null
searchlimit = 20
searchopts = ""
searchstaleness = 900
send-metrics = false
shell = "C:\\Windows\\system32\\cmd.exe"
shrinkwrap = true
sign-git-commit = false
sign-git-tag = false
sso-poll-frequency = 500
sso-type = "oauth"
strict-ssl = true
tag = "latest"
tag-version-prefix = "v"
timing = false
tmp = "C:\\Users\\xiaoyao\\AppData\\Local\\Temp"
umask = 0
unicode = false
unsafe-perm = true
update-notifier = true
usage = false
user = 0
; user-agent = "npm/{npm-version} node/{node-version} {platform} {arch} {ci}" (overridden)
userconfig = "C:\\Users\\xiaoyao\\.npmrc"
version = false
versions = false
viewer = "browser"

4、检查配置效果

启动cmd,输入node -vnpm -v看是否有效果。

C:\Users\xiaoyao>node -v
v12.22.3

C:\Users\xiaoyao>npm -v
6.14.13

查看全局安装的模块npm -g ls,同时也可以查看全局安装路径是否正确

C:\Users\xiaoyao>npm -g ls
D:\developmentEnvironment\nodejs\v12.22.3\node_global
`-- (empty)

尝试全局安装最新的vue脚手架
npm install -g @vue/cli
npm install -g @vue/cli-init

C:\Users\xiaoyao>npm install -g @vue/cli
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated graphql-extensions@0.15.0: The  API has been removed from Apollo Server 3. Use the plugin API instead: https://www.apollographql.com/docs/apollo-server/integrations/plugins/
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
D:\developmentEnvironment\nodejs\v12.22.3\node_global\vue -> D:\developmentEnvironment\nodejs\v12.22.3\node_global\node_modules\@vue\cli\bin\vue.js

> core-js-pure@3.15.2 postinstall D:\developmentEnvironment\nodejs\v12.22.3\node_global\node_modules\@vue\cli\node_modules\core-js-pure
> node -e "try{require('./postinstall')}catch(e){}"

Thank you for using core-js ( https://github.com/zloirock/core-js ) for polyfilling JavaScript standard library!

The project needs your help! Please consider supporting of core-js on Open Collective or Patreon:
> https://opencollective.com/core-js
> https://www.patreon.com/zloirock

Also, the author of core-js ( https://github.com/zloirock ) is looking for a good job -)


> @apollo/protobufjs@1.2.2 postinstall D:\developmentEnvironment\nodejs\v12.22.3\node_global\node_modules\@vue\cli\node_modules\@apollo\protobufjs
> node scripts/postinstall


> ejs@2.7.4 postinstall D:\developmentEnvironment\nodejs\v12.22.3\node_global\node_modules\@vue\cli\node_modules\ejs
> node ./postinstall.js

Thank you for installing EJS: built with the Jake JavaScript build tool (https://jakejs.com/)

npm WARN ws@7.5.3 requires a peer of bufferutil@^4.0.1 but none is installed. You must install peer dependencies yourself.
npm WARN ws@7.5.3 requires a peer of utf-8-validate@^5.0.2 but none is installed. You must install peer dependencies yourself.

+ @vue/cli@4.5.13
added 928 packages from 584 contributors in 50.716s

C:\Users\xiaoyao>npm install -g @vue/cli-init
npm WARN deprecated vue-cli@2.9.6: This package has been deprecated in favour of @vue/cli
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated coffee-script@1.12.7: CoffeeScript on NPM has moved to "coffeescript" (no hyphen)
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
+ @vue/cli-init@4.5.13
added 251 packages from 206 contributors in 7.362s

此时可以再次用npm -g ls查看全局安装的依赖,可能比较多,也可以进自定义的全局依赖文件夹查看,我这里是D:\developmentEnvironment\nodejs\v12.22.3\node_global

如下图
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程
尝试使用全局安装模块的命令,这里试试刚装好的vue,如下图,正常识别。
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程


注:如果不能使用全局安装模块的命令,可能是系统环境变量Path中没有添加全局安装依赖的路径(我这里是%NPM_PREFIX%,对应%NODE_HOME%\node_global,对应D:\developmentEnvironment\nodejs\v12.22.3\node_global)。
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程
【NodeJs】nodejs非安装版(Windows)的环境变量配置 全过程


到这里nodejs配置算是完成了,感谢你的观看。

上一篇:ImportError: The plotly.plotly module is deprecated,please install the chart-studio


下一篇:驱动的DriverUnload函数