当前位置: 首页 > news >正文

网站如何建设与安全那有名网站是php做的

网站如何建设与安全,那有名网站是php做的,重庆最新宣传片,三亚谁做网站一、前言 1.1 简介 NVM#xff08;Node Version Manager#xff09;是 node.js 的版本管理器#xff0c;用 shell 脚本切换机器中不同版本的 nodejs。 Nodejs为什么需要多个版本#xff1f; 有经验的开发者可能遇到过#xff0c;某个依赖包明确nodejs是某个版本#…一、前言 1.1 简介 NVMNode Version Manager是 node.js 的版本管理器用 shell 脚本切换机器中不同版本的 nodejs。 Nodejs为什么需要多个版本 有经验的开发者可能遇到过某个依赖包明确nodejs是某个版本或者不高于某个版本才能工作。例如将npm项目打包exe可执行文件时打包工具pkg因为没有适配node20版本只能按要求切换到node18版本使用。这时候如果没有版本管理器自己得重新下载安装对应nodejs版本。而有些nodejs原生addons插件开发者甚至需要在32位和64为版本之间切换光是这些环境配置的问题就让人头疼。 NVM能自动切换不同版本的nodejs使用还提供了不同版本的下载和安装就能很方便简化以上的这些工作。有用过python的朋友可能知道NVM的作用和conda一样都是机器上管理多个版本解释器环境的工具。 1.2 前置知识 本文需要掌握配置环境变量假如你已经掌握可以跳过本小节。 环境变量是操作系统正常运行需要的参数具体起什么作用这和具体的环境变量相关。例如环境变量中配置了系统安装目录、临时文件夹目录等。 进入环境变量设置方法 方法1控制面板-系统和安全-系统-高级系统设置-环境变量按钮方法2桌面“计算机”鼠标右键属性 - 高级系统设置 - 环境变量按钮方法3Windows10/11搜索关键词“环境变量”从“编辑系统环境变量” - 环境变量按钮方法4终端执行“/SystemPropertiesAdvanced”程序 - 环境变量按钮 创建环境变量 环境变量中分为用户变量和系统变量两部分用户变量只作用于当前用户系统变量作用于所有用户本文需要设置的是“系统变量”。 创建环境变量时点击“新建”按钮输入变量名和变量值确定。程序通常会用变量名读取变量值在环境变量中用 %变量名% 读取值例如 %A% 表示用A的值。 Path环境变量 Path是关键的环境变量它的值包含多个目录路径这些路径会被终端程序cmd/powershell用来查找执行程序。实际上查找执行程序的路径不只有path的路径包含以下这些路径 当前工作路径path环境变量windir环境变量windows系统安装目录system32目录 Cmd用命令 echo %path% 或者powershell用命令 echo $env:path 就能看到可用的路径。许多第三方程序需要在终端执行会把程序所在目录路径添加到path中例如java、python、node等程序。 二、NVM工作原理 先说结论NVM用一个软链接实现nodejs版本切换。切换版本时NVM用 NVM_SYMLINK 环境变量的值创建的软链接指向要切换版本nodejs安装目录路径终端中执行node程序时从软链接找到 node.exe 程序执行。在操作系统中访问软链接都会被重定向到软链接指向的真实路径。 NVM_SYMLINK 需要我们配置在环境变量中它的值就是软链接的路径例如值是 D:\nvm\node NVM用该值创建软链接这意味着软链接名总是 D:\nvm\node 。 NVM 切换 18.20.4 版本时创建名为 D:\nvm\node 软链接它的值是 D:\nvm\v18.20.4 软链接指向它的值的目录或者说 D:\nvm\node 是 D:\nvm\v18.20.4 的软链接。 拓展知识 软链接是计算机文件系统的符号链接可以理解为Windows文件系统的快捷方式作用是用来指向某个目录或文件实体。例如访问A如果A是B的软链接那么访问的是B如果A是C的软链接那么访问的是C。 软链接和快捷方式的区别是快捷方式是.lnk文件软链接是.symlink文件快捷方式创建后能被修改而软链接一旦创建就不能修改。另外还有硬链接这里不深究有兴趣可以参考 https://zhuanlan.zhihu.com/p/661358379 这篇文章。 过程如下图所示注意虚线实线 #mermaid-svg-40NbJjS9dXyaer5N {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-40NbJjS9dXyaer5N .error-icon{fill:#552222;}#mermaid-svg-40NbJjS9dXyaer5N .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-40NbJjS9dXyaer5N .edge-thickness-normal{stroke-width:2px;}#mermaid-svg-40NbJjS9dXyaer5N .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-40NbJjS9dXyaer5N .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-40NbJjS9dXyaer5N .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-40NbJjS9dXyaer5N .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-40NbJjS9dXyaer5N .marker{fill:#333333;stroke:#333333;}#mermaid-svg-40NbJjS9dXyaer5N .marker.cross{stroke:#333333;}#mermaid-svg-40NbJjS9dXyaer5N svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-40NbJjS9dXyaer5N .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-svg-40NbJjS9dXyaer5N .cluster-label text{fill:#333;}#mermaid-svg-40NbJjS9dXyaer5N .cluster-label span{color:#333;}#mermaid-svg-40NbJjS9dXyaer5N .label text,#mermaid-svg-40NbJjS9dXyaer5N span{fill:#333;color:#333;}#mermaid-svg-40NbJjS9dXyaer5N .node rect,#mermaid-svg-40NbJjS9dXyaer5N .node circle,#mermaid-svg-40NbJjS9dXyaer5N .node ellipse,#mermaid-svg-40NbJjS9dXyaer5N .node polygon,#mermaid-svg-40NbJjS9dXyaer5N .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-svg-40NbJjS9dXyaer5N .node .label{text-align:center;}#mermaid-svg-40NbJjS9dXyaer5N .node.clickable{cursor:pointer;}#mermaid-svg-40NbJjS9dXyaer5N .arrowheadPath{fill:#333333;}#mermaid-svg-40NbJjS9dXyaer5N .edgePath .path{stroke:#333333;stroke-width:2.0px;}#mermaid-svg-40NbJjS9dXyaer5N .flowchart-link{stroke:#333333;fill:none;}#mermaid-svg-40NbJjS9dXyaer5N .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-svg-40NbJjS9dXyaer5N .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-svg-40NbJjS9dXyaer5N .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-svg-40NbJjS9dXyaer5N .cluster text{fill:#333;}#mermaid-svg-40NbJjS9dXyaer5N .cluster span{color:#333;}#mermaid-svg-40NbJjS9dXyaer5N div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80, 100%, 96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-svg-40NbJjS9dXyaer5N :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} NodeJs安装目录 环境变量 用 创建 或指向 或指向 从 查找执行 查找执行 v18.20.4 v20.15.1 NVM_SYMLINK软链接路径 path包含 NVM_SYMLINK nvm 终端 软链接 node.exe 明白软链接的作用后NPM的配置信息也使用包含软链接的路径这样就能在NVM更改软链接的指向后NPM自动切换访问对应的目录。 提示 主要分为NVM配置和NPM配置两个部分。系统只有一个NVM需要配置每个nodejs版本都有独立的npm包管理器但npm共用一个配置文件所以也只需要配置一次。 NVM配置部分把nvm安装目录路径加到path环境变量让终端能找到nvm程序还要配置 NVM_SYMLINK 环境变量值是软链接名NVM用它来创建软链接指向切换的nodejs安装目录为了让终端找到切换后的node程序还要把软链接名加入path环境变量软链接名就是 NVM_SYMLINK 的值。 NPM配置部分如果你有npm的配置经验NVM管理的npm配置区别只在于使用软链接的路径让软链接来控制npm访问的真实路径其他配置与原来并无不同。 具体的配置请看下文。 三、NVM安装配置 3.1 下载 请在 https://github.com/coreybutler/nvm-windows/releases 官方仓库下载需要的安装包。本文主要演示 Windows 系统中的安装 nvm-setup.exe 安装版和 nvm-noinstall.zip 免安装版为了演示如何配置NVM以及避免黑盒操作本人建议选择下载免安装版本。 注意免安装版请解压.zip文件到 非中文无空格 的路径中否则会存在意想不到的问题。本人解压到 D:\Applications\nvm 目录中。 D:\Applications\nvm\elevate.cmdelevate.vbsinstall.cmdLICENSEnodejs.iconvm.exesetuserenv.vbsunsetuserenv.vbs3.2 配置NVM环境变量 NVM需要把 安装目录 和 软链接目录 添加到 path 环境变量。 nvm-setup.exe 安装版在安装过程中会要求你输入这两个路径以设置环境变量本文主要演示免安装版。 3.2.1 NVM_HOME NVM需要添加 NVM_HOME 环境变量变量值是NVM的安装目录路径本人是 D:\Applications\nvm。另外因为 NVM 主要在终端中使用所以要让终端找到 nvm 命令也必须把 NVM 安装目录路径添加到 path 环境变量中。因为已经设置了 NVM_HOME 环境变量所以用 %NVM_HOME% 变量添加进 path 环境变量中使用 %NVM_HOME% 变量表示取 NVM_HOME 的值。 添加 NVM_HOME 环境变量确定后启动终端就能使用 nvm -v 就能看到NVM的版本号。 PS C:\ nvm -v 1.1.12 PS C:\现在只是能用NVM的相关命令还不能完全能使用还需要配置最核心的软链接目录。 3.2.2 NVM_SYMLINK 软链接可以理解为快捷方式NVM工作原理 小结中已经解释了软链接的作用。 添加 NVM_SYMLINK 环境变量就是设置软链接变量值是NVM的软链接目录路径本人是 D:\Applications\nvm\nodeNVM会在创建和删除软链接时用到该环境变量。还需要把它作为变量 %NVM_SYMLINK% 添加到path环境变量中因为软链接就是nvm切换后的nodejs安装目录只有把它添加到path才能使用node命令。 注意 软链接不需要手动创建用 nvm use 命令切换到某个 nodejs 版本时会自动创建。 3.3 配置文件 settings.txt NVM的配置文件 settings.txt 用来配置NVM的安装路径和镜像源等信息使用国内的镜像源下载速度会快一些。 免安装版NVM解压后没有 settings.txt 配置文件需要手动创建。可以用命令配置项目例如 nvm root D:\Applications\nvm设置root值为D:\Applications\nvm其他配置项同理。 配置内容如下 root: D:\Applications\nvm arch: 64 proxy: none originalpath: . originalversion: node_mirror: https://npmmirror.com/mirrors/node/ npm_mirror: https://npmmirror.com/mirrors/npm/root: NVM安装路径arch: 位数node_mirror: nodejs安装包镜像源nvm用来下载nodejsnpm_mirror: npm依赖包镜像源nvm用来下载npm包管理器 提示 在安装低版本的node时同步安装的 npm 版本有可能在指定的源中找不到。例如我当前配置的npm下载镜像是淘宝镜像。当我下载8.0.0指定的低版本node时npm下载失败。此时我必须去掉 npm_mirror 配置项让nvm去默认的源下载。 四、NVM基本使用 NVM的命令主要是实现nodejs版本的管理包括nodejs的安装、卸载、切换版本等。下面介绍nvm常用的命令。 4.1 on on 命令用于启用 NVM 只有启用NVM才能真正让它工作。 PS C:\ nvm on nvm enabled4.2 list (ls) list 命令简写 ls 可以查看当前机器已安装的nodejs版本。参数 available 用来查看可安装的版本。 PS C:\ nvm list* 20.16.0 (Currently using 64-bit executable) PS C:\ nvm list available| CURRENT | LTS | OLD STABLE | OLD UNSTABLE | |--------------|--------------|--------------|--------------| | 22.6.0 | 20.16.0 | 0.12.18 | 0.11.16 | | 22.5.1 | 20.15.1 | 0.12.17 | 0.11.15 | | 22.5.0 | 20.15.0 | 0.12.16 | 0.11.14 | | 22.4.1 | 20.14.0 | 0.12.15 | 0.11.13 | | 22.4.0 | 20.13.1 | 0.12.14 | 0.11.12 | | 22.3.0 | 20.13.0 | 0.12.13 | 0.11.11 | | 22.2.0 | 20.12.2 | 0.12.12 | 0.11.10 | | 22.1.0 | 20.12.1 | 0.12.11 | 0.11.9 | | 22.0.0 | 20.12.0 | 0.12.10 | 0.11.8 | | 21.7.3 | 20.11.1 | 0.12.9 | 0.11.7 | | 21.7.2 | 20.11.0 | 0.12.8 | 0.11.6 | | 21.7.1 | 20.10.0 | 0.12.7 | 0.11.5 | | 21.7.0 | 20.9.0 | 0.12.6 | 0.11.4 | | 21.6.2 | 18.20.4 | 0.12.5 | 0.11.3 | | 21.6.1 | 18.20.3 | 0.12.4 | 0.11.2 | | 21.6.0 | 18.20.2 | 0.12.3 | 0.11.1 | | 21.5.0 | 18.20.1 | 0.12.2 | 0.11.0 | | 21.4.0 | 18.20.0 | 0.12.1 | 0.9.12 | | 21.3.0 | 18.19.1 | 0.12.0 | 0.9.11 | | 21.2.0 | 18.19.0 | 0.10.48 | 0.9.10 |This is a partial list. For a complete list, visit https://nodejs.org/en/download/releases PS C:\4.3 install install 是安装 nodejs 命令后面参数跟版本号如果参数是 lts 则安装最新的 latest 长期稳定版本如果是18、19、20等大版本号则会安装大版本中最新的 latest 版本。 PS C:\ nvm install 20.16.0 Downloading node.js version 20.16.0 (64-bit)... Extracting node and npm... Complete npm v10.8.1 installed successfully.Installation complete. If you want to use this version, typenvm use 20.16.0 PS C:\命令参数 nvm install 20.16.0 # 安装具体版本 nvm install 20 # 安装20版最新latest版本 nvm install lts # 安装最新的latest版本4.4 uninstall uninstall 是卸载版本命令执行该命令将会删除对应版本的安装目录。当卸载的是当前版本时软链接也会被删除。 nvm uninstall 20.16.04.5 use use 命令用于切换版本后跟参数版本号。要注意只能切换本地已安装的版本切换前请 nvm list 查看是否安装该版本。当软链接不存在时use命令将会创建软链接。 nvm use 20.16.04.6 所有命令 用 nvm help 命令查看所有命令。 nvm arch:显示节点运行在32位还是64位模式。 nvm current:显示当前版本。 nvm调试:检查NVM4W进程是否存在已知问题(疑难解答)。 nvm install version [arch]:版本可以是一个特定的版本“latest”表示最新的当前版本“lts”表示当前版本最新的LTS版本。可选地指定是安装32位还是64位版本(默认值)系统拱)。设置[arch]为“all”来安装32位和64位版本。在该命令的末尾添加——insecure以绕过远程下载服务器的SSL验证。 nvm list [available]:列出node.js的安装。在最后键入“available”看看可以安装什么。别名为ls。 nvm on:启用node.js版本管理。 nvm off:关闭node.js版本管理。 nvm proxy [url]:设置用于下载的代理。保留[url]为空以查看当前代理。设置[url]为none删除代理。 nvm node_mirror [url]:设置节点镜像。默认为https://nodejs.org/dist/。[url]为空使用默认url。 nvm npm_mirror [url]:设置npm镜像。默认为https://github.com/npm/cli/archive/。[url]为空默认为url。 nvm uninstall version:版本必须是指定的版本。 nvm use [version] [arch]:切换使用指定的版本。可选地使用latest、lts或latest。“latest”是最新安装的版本。可选地指定32/64位架构。 NVM use arch将继续使用所选版本但切换到32/64位模式。 nvm root [path]:设置nvm存放node.js不同版本文件的路径。如果未设置path则显示当前根目录。 nvm[——]version:显示Windows下nvm的当前运行版本。别名为v。五、NPM配置 Npm的配置方法和不使用nvm版本管理器时一样只是配置prefix公共包和cache缓存的路径有区别。在不使用nvm时这两个路径指向两个固定的目录但是nvm版本管理情况下使用了软链接这时候这两个路径就必须指向软链接后的目录因为软链接会被nvm切换版本时修改为nodejs安装目录这样就实现了不同版本使用不同的prefix公共包目录和cache缓存目录。 5.1 命令配置 本人机器的nvm软链接NVM_SYMLINK 值是 D:\Applications\nvm\node 目录软链接代表不同的nodejs版本安装目录所以 npm 如下配置 prefix 和 cache npm config set prefix D:\Applications\nvm\node\node_global npm config set cache D:\Applications\nvm\node\node_cache注意 不需要手动创建这两个目录在 npm 安装依赖包时会被自动创建。 Npm 的依赖包镜像源配置 npm config set registry https://registry.npmmirror.com该镜像源和NVM配置的镜像源作用不同该镜像源是为某个版本的npm包管理器准备npm会从这个源下载依赖包而NVM的npm_mirror是让nvm下载npm包管理器。 5.2 配置文件 npm的配置文件 .npmrc 在用户目录中 C:\Users\用户名.npmrc 用命令配置则会自动创建配置文件也可以直接配置这个文件配置如下 prefixD:\Applications\nvm\node\node_global cacheD:\Applications\nvm\node\node_cache registryhttps://registry.npmmirror.com5.3 配置NPM环境变量 Npm必须把prefix公共包目录添加到path环境变量原因是公共包内可能会安装一些全局命令工具例如第三方yarn包管理器只有把node_global目录添加path这些命令才能在终端使用。 path环境变量添加以下路径因为 NVM_SYMLINK 已经是环境变量可以作为变量直接使用 %NVM_SYMLINK%\node_global %NVM_SYMLINK%\node_modules5.4 是否能多版本共用公共包 可能有人会问按以上的方法 prefix 公共包使用软链接路径导致每个版本的公共包不共享nvm切换nodejs版本后一些公共包需要重新安装是否可以多个版本 nodejs 共享一个公共包呢只要不使用软链接路径就能做到但是个人并不建议这么做。 使用nvm版本管理的目的是隔离 nodejs 的环境每个版本使用的是适配它的依赖包如果所有版本共享所有公共包就丧失了nvm版本管理的优点例如你不会在切换到node 18时把不适配的依赖包卸载再重新安装适配的包这样做和不使用nvm没区别个人不建议多版本nodejs共享一个公共包目录。
http://www.hkea.cn/news/14276816/

相关文章:

  • 天津武清网站开发阿里云域名注册官网
  • 用DW做网站时怎么在新窗口打开做企业网站需要建多大的画布
  • 重庆网站制作系统前端培训多少钱
  • 前端搜索网站引擎怎么做平台式建站
  • 天台县低价网站建设电子商务网站建设原则
  • 电子商务网站建设与实践重庆市建设网站
  • 来宾住房和建设局网站楼网络规划设计方案
  • 如何做网站搬家江苏建设工程信息网一体化平台官网
  • 做电商网站都需要学什么工业设计网站排名
  • 专业建站服务公司营销推广方案模板
  • 搭建网站费用wordpress的seo如何写关键词
  • 临沂专业网站建设公司哪家好聚名网域名转出
  • 阿里云怎么做网站小型企业网站建设的背景
  • 担保网站建设电商app开发价格表
  • 网站建设中应注意的问题网站建设费需要缴纳印花税吗
  • 晋中市住房与城乡建设厅网站网站开发工程师 课程大纲
  • 网站设计报价是多少有什么网站可以做毕业影像
  • 校园网站建设开题报告国外公司网站模板
  • 石家庄网站推广排名站长做旅游网站
  • 北京网站开发费用石家庄最新消息今天
  • 长春平原网站建设腾讯企业邮箱登录入口二维码
  • 网站建设公司推荐西安建设网站电话
  • 代码怎么生成网站企业网站改自适应
  • 如何把自己电脑做网站服务器吗广州建筑业企业排名
  • 婚礼策划网站设计公司网站ICP注销
  • 网站建设问题及对策百度账号设置
  • 做外贸生意用哪个网站最好深圳公司网站备案需要什么资料
  • 营销型网站有哪些app微信营销成功的案例有哪些
  • 网站前端设计培训中国城乡住房和建设部网站
  • 宜宾做网站的公司php网站开发工资