美文网首页前端工程
Node环境ZIP安装方法

Node环境ZIP安装方法

作者: 明训 | 来源:发表于2021-04-07 00:48 被阅读0次

背景说明

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,目前前端框架均使用Node作为基础运行时环境,由于个人倾向于解压安装,这里坐下记录供参考。

解决方案

构建下载

打开浏览器访问网址:http://nodejs.cn/download/ https://nodejs.org/zh-cn/download/

Windows 二进制文件 (.zip)->64位

构建解压

解压node-v14.16.0-win-x64.zip至目录D:\develop\lang\node\node-v14.16.0-win-x64

环境变量

键盘上按下左下脚Windows[四个方格]输入环境变量出现控制面板[编辑系统环境变量]此时弹出一个窗口选择右下脚环境变量找到系统环境变量新建如下环境变量

NODE_HOME D:\develop\lang\node\node-v14.16.0-win-x64

追加Path环境变量

%NODE_HOME%
%NODE_HOME%\node_global

目录管理

C:\Users\86183>npm root -g
C:\Users\86183\AppData\Roaming\npm\node_modules

npm作为一个NodeJS的模块管理,要先配置npm的全局模块的存放路径以及cache的路径

不进行目录环境变量配置,在使用命令安装node.js全局模块,例如npm install -g express时,会默认安装到C盘的路径C:\Users\用户名\AppData\Roaming\npm中,所以在这边配置全局安装模块以及缓存目录的环境变量来减少C盘的压力

目录创建

在根目录D:\develop\lang\node\node-v14.16.0-win-x64创建目录node_cachenode_global

node_global作为 npm 的全局安装模块路径

node_cache作为 npm 的全局缓存路径

命令设置

执行如下命令进行设置全局安装模块路径全局缓存路径

C:\Users\86183>npm config set prefix "D:\develop\lang\node\node-v14.16.0-win-x64\node_global"
C:\Users\86183>npm config set cache "D:\develop\lang\node\node-v14.16.0-win-x64\node_cache"

会在当前用户目录下生产.npmrc文件

$ pwd
/c/Users/86183
$ ls -al |grep .npmrc
-rw-r--r-- 1 86183 197609     124 4月   5 21:09 .npmrc

文件内容如下

prefix=D:\develop\lang\node\node-v14.16.0-win-x64\node_global
cache=D:\develop\lang\node\node-v14.16.0-win-x64\node_cache

用户变量

D:\develop\lang\node\node-v14.16.0-win-x64\node_global目录下创建目录node_modules

配置系统环境变量

NODE_PATH %NODE_HOME%\node_global\node_modules

坚持是否配置成功

C:\Users\86183>npm root -g
D:\develop\lang\node\node-v14.16.0-win-x64\node_global\node_modules

镜像设置

由于国内网络问题,使用官方源进行安装模块特别慢,这里推荐使用淘宝镜像。

方案一

设置淘宝仓库

C:\Users\86183>npm config set registry https://registry.npm.taobao.org --global
C:\Users\86183>npm config set disturl https://npm.taobao.org/dist --global

以后下载模块的时候,将npm替换成cnpm即可从淘宝镜像中下载模块

C:\Users\86183>npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm有时会有bug,不推荐,建议使用方案二

查看镜像设置

C:\Users\86183>npm get registry

恢复官方仓库npm config set registry https://registry.npmjs.org/

方案二

使用推荐的切换镜像工具nrm

C:\Users\86183>npm install nrm -g
C:\Users\86183>nrm ls
internal/validators.js:124
    throw new ERR_INVALID_ARG_TYPE(name, 'string', value);
    ^

[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined
  at validateString (internal/validators.js:124:11)
  at Object.join (path.js:375:7)
  at Object.<anonymous> (D:\develop\lang\node\node-v14.16.0-win-x64\node_global\node_modules\nrm\cli.js:17:20)
  at Module._compile (internal/modules/cjs/loader.js:1063:30)
  at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
  at Module.load (internal/modules/cjs/loader.js:928:32)
  at Function.Module._load (internal/modules/cjs/loader.js:769:14)
  at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:72:12)
  at internal/main/run_main_module.js:17:47
] {
  code: 'ERR_INVALID_ARG_TYPE'
}

在目录D:\develop\lang\node\node-v14.16.0-win-x64\node_global\node_modules\nrm下找到cli.js

打开并找到下面这句话:

const NRMRC = path.join(process.env.HOME, '.nrmrc');

这段话在17行,把他替换成如下:

const NRMRC = path.join(process.env[(process.platform == 'win32') ? 'USERPROFILE' : 'HOME'], '.nrmrc');

保存文件,打开控制台输入命令

C:\Users\86183>nrm ls

  npm -------- https://registry.npmjs.org/
  yarn ------- https://registry.yarnpkg.com/
  cnpm ------- http://r.cnpmjs.org/
* taobao ----- https://registry.npm.taobao.org/
  nj --------- https://registry.nodejitsu.com/
  npmMirror -- https://skimdb.npmjs.com/registry/
  edunpm ----- http://registry.enpmjs.org/
C:\Users\8618

通过nrm use taobao来指定要使用的镜像源:

C:\Users\86183>nrm use taobao
   Registry has been set to: https://registry.npm.taobao.org/
C:\Users\86183>

通过nrm test npm来测试速度

C:\Users\86183>nrm test npm
  npm ---- 3430ms
C:\Users\86183>

全局安装

C:\Users\86183>npm install -g webpack

-g表示是全局安装

node_global\node_modules路径下多了webpack文件夹,说明配置成功。

配置查看

$ npm config list
; cli configs
metrics-registry = "https://registry.npm.taobao.org/"
scope = ""
user-agent = "npm/6.14.11 node/v14.16.0 win32 x64"

; userconfig C:\Users\86183\.npmrc
cache = "D:\\develop\\lang\\node\\node-v14.16.0-win-x64\\node_cache"
home = "https://npm.taobao.org"
prefix = "D:\\develop\\lang\\node\\node-v14.16.0-win-x64\\node_global"
registry = "https://registry.npm.taobao.org/"

; globalconfig D:\develop\lang\node\node-v14.16.0-win-x64\node_global\etc\npmrc
disturl = "https://npm.taobao.org/dist"
registry = "https://registry.npm.taobao.org/"

; node bin location = D:\develop\lang\node\node-v14.16.0-win-x64\node.exe
; cwd = C:\nodedemo
; HOME = C:\Users\86183
; "npm config ls -l" to show all defaults.

npm config ls -l也可以列出所有配置

相关文章

网友评论

    本文标题:Node环境ZIP安装方法

    本文链接:https://www.haomeiwen.com/subject/lglykltx.html