LOADING

加载过慢请开启缓存 浏览器默认开启

冰镇豆浆的博客

nvm-windows安装教程

web前端 2024/12/28

使用 nvm-windows 管理和切换本地 Node.js 版本

在开发过程中,可能会遇到需要安装和切换多个不同版本的 Node.js 的需求。nvm-windows 是一个用于 Windows 平台的 Node.js 版本管理工具,可帮助我们方便地安装和切换 Node.js 版本。以下是详细的安装与使用教程:

1. 下载最新版构建

首先,前往 GitHub 仓库 nvm-windows Releases 页面,下载最新的压缩包版本 nvm-noinstall.zip

  1. 点击你需要的版本(通常选择最新版)。
  2. 下载 nvm-noinstall.zip 文件到本地。
  3. 解压压缩文件到一个你希望作为 nvm 主目录的路径,例如:D:\devProgram\nvm

2. 设置环境变量

为了能够全局使用 nvm 和 Node.js 命令,我们需要设置相应的环境变量。步骤如下:

  1. 打开环境变量设置

    • 右键 “此电脑” 或 “我的电脑”,选择“属性”。
    • 点击左侧的“高级系统设置”。
    • 在“系统属性”窗口中的“高级”选项卡,点击“环境变量”。
  2. 新增环境变量

    • 添加 NVM_HOME,值为解压后的 nvm 主路径,例如:D:\devProgram\nvm
    • 添加 NVM_SYMLINK,值为你希望存放 Node.js 安装文件的路径,例如:D:\devProgram\nodejs
  3. 修改 PATH 变量

    • 选中用户变量或系统变量中的 Path,点击“编辑”。
    • 追加以下两条内容:
      %NVM_HOME%
      %NVM_SYMLINK%
      
    • 点击“确定”保存设置。

注意
NVM_HOMEnvm 主程序路径,而 NVM_SYMLINK 用于存放实际 Node.js 文件并作为全局的 Node.js 使用路径。

3. 在 nvm 主路径下新建 settings.txt

nvm 的配置依赖一个名为 settings.txt 的文件。我们需要在 nvm 主路径下创建该文件并添加以下内容:

root: D:\devProgram\nvm
path: D:\devProgram\nodejs
  • root 对应解压出 nvm 的根目录路径。
  • path 对应 Node.js 安装文件的目录路径(即 NVM_SYMLINK 的值)。

确保路径与环境变量完全一致,保存文件后关闭。

4. 查看可安装的 Node.js 版本

在命令行中,通过 nvm list available 来查看所有可以安装的 Node.js 版本。这些版本会按照长期支持版(LTS)和当前最新版本的顺序列出,例如:

nvm list available

        18.17.1   (LTS: Hydrogen)
        20.6.0    (Latest)
        16.20.3   (LTS: Gallium)

选择一个你需要的版本进行安装。

5. 安装指定版本的 Node.js

使用 nvm install 版本号 命令安装指定的 Node.js 版本。例如,我们想安装 16.20.3

nvm install 16.20.3

安装成功后,你可以通过 nvm list 查看已安装的版本。

6. 切换 Node.js 版本

安装完成后,你可以通过 nvm use 版本号 命令切换到指定的版本。例如,切换到刚刚安装好的 16.20.3

nvm use 16.20.3

命令执行成功后,当前 Node.js 版本将被激活。你可以通过以下命令检查是否切换成功:

node -v

命令输出对应的版本号表示切换成功。

7. 查看已安装的 Node.js 版本

如需查看当前安装的所有 Node.js 版本,可以使用以下命令:

nvm list

输出示例:

    16.20.3
  * 18.17.1 (Currently using 18.17.1)
    20.6.0

带有 * 标记和 Currently using 的版本是当前正在使用的版本。

8. 版本切换小结

你可以随时通过 nvm use 版本号 来切换不同的 Node.js 版本,而无需手动卸载或重新安装 Node.js。这对于不同项目需要依赖不同的 Node.js 版本时,非常方便。


总结

通过以上步骤,你已经成功安装并配置了 nvm-windows,并学会如何通过它管理和切换本地的 Node.js 版本。以下是使用 nvm 的几个常用命令:

  • 查看可安装版本:nvm list available
  • 安装指定版本:nvm install 版本号
  • 查看已安装版本:nvm list
  • 切换版本:nvm use 版本号

希望这篇教程能够帮助你快速上手 nvm-windows,愉快地管理你的 Node.js 环境!

阅读全文

开源项目介绍:century_avenue

Century_Avenue

一个将商业或开源大语言模型的api映射为OpenAI风格的api的工具,名称取自上海换乘客流最大地铁站“世纪大道”。

特征

  • 1、目前支持智谱清言GLM4系列、讯飞星火Lite、讯飞星火Pro、讯飞星火3.5Max、讯飞星火4.0Ultra、千问Long、百度Ernie系列
  • 2、目前(仅)支持/v1/chat/completions/v1/models接口
  • 3、支持上述两个接口向指定url的转发

用法

通过Releases使用(推荐)

0、前提条件:

  • Jdk21
  • JAVA_HOME及Path环境变量配置

1、从Releases页面下载最新版jar构建;

2、application.yaml配置文件示例:(请注意,以下参数均为非必填项,但构建内默认配置文件中不包含任何api对接参数,直接运行是无法调用任何一种大模型的哦!)

# 开启鉴权,请求头中需添加Authorization,规则与OpenAI一致,内容为"Bearer "+api-key
# 不配置此项则不检验授权,但我们强烈推荐开启
api-key: "my api-key"
# 向任意符合OpenAI API风格的大模型转发请求
# 注意:由于Uvicorn对h2和h2c的支持存在问题,本地部署的使用了fastapi的大模型建议通过Hypercorn运行,否则可能导致非流式请求报错
# 2.0.0及以上版本只会在baseUrl后补上/chat/completions,2.0.0以下版本会补上/v1/chat/completions
openai:
  models:
    - apiKey: "my key"
      model: "my model"
      baseUrl: "https://api.openai.com/v1"
    - apiKey: "my key"
      model: "my model"
      baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1"
# 智谱清言GLM4
glm-4:
  api-key: "glm-4 api-key"
  subModels:
    - "glm-4-air"
    - "glm-4-airx"
    # 等等
# 讯飞星火lite
spark-lite:
  app_id: "spark-lite app_id"
  api-secret: "spark-lite api-secret"
  api-key: "spark-lite api-key"
# 讯飞星火pro
spark-pro:
  app_id: "spark-pro app_id"
  api-secret: "spark-pro api-secret"
  api-key: "spark-pro api-key"
# 讯飞星火3.5 Max
spark35-max:
  app_id: "spark35-max app_id"
  api-secret: "spark35-max api-secret"
  api-key: "spark35-max api-key"
# 讯飞星火4.0 Ultra
spark4-ultra:
  app_id: "spark4-ultra app_id"
  api-secret: "spark4-ultra api-secret"
  api-key: "spark4-ultra api-key"
# 阿里巴巴Qwen-Long
qwen-long:
  api-key: "qwen-long api-key"
# 百度ERNIE-Tiny-8K
ernie-tiny-8k:
  api-key: "ernie-tiny-8k api-key"
  secret-key: "ernie-tiny-8k secret-key"
# 百度ERNIE-Lite-8K-0308
ernie-lite-8k:
  api-key: "ernie-lite-8k api-key"
  secret-key: "ernie-lite-8k secret-key"
# 百度ERNIE-Speed-8K
ernie-speed:
  api-key: "ernie-speed api-key"
  secret-key: "ernie-speed secret-key"
# 百度ERNIE-Speed-128K
ernie-speed-128k:
  api-key: "ernie-speed-128k api-key"
  secret-key: "ernie-speed-128k secret-key"
# 百度ERNIE-3.5-8K-Preview
ernie-3.5-8k-preview:
  api-key: "ernie-3.5-8k-preview api-key"
  secret-key: "ernie-3.5-8k-preview secret-key"
# 百度ERNIE-4.0-8K-Preview
ernie-4.0-8k-preview:
  api-key: "ernie-4.0-8k-preview api-key"
  secret-key: "ernie-4.0-8k-preview secret-key"
# 大模型别名映射,可以配置多个,可以多个别名指向同一个可用的大模型,所有可用的模型及其对应的别名都会显示在/v1/models中
century-avenue:
  model-mapping:
    gpt3.5: "spark-lite"
    gpt4: "spark-lite"
    gpt4o: "spark-pro"

3、执行java -jar命令

java -jar century_avenue-0.0.1-SNAPSHOT.jar --spring.config.import=file:/path/to/application.yaml

注意将jar名称修改为你下载的构建的名称;

4、访问 http://localhost:4523/v1/models ,即可看到当前支持的大模型列表 (注意:仅有配置了全部对接参数的大模型才会显示在模型列表中)

从源代码构建

0、前提条件:

  • Jdk21
  • Maven
  • JAVA_HOME及Path环境变量配置

1、

git clone https://github.com/FuturePrayer/century_avenue.git

2、

cd century_avenue

3、

mvn package

局限性

  • 1、当前支持的大模型较少,本人精力、财力有限,无法购买每一款商业大模型或运行每一款开源大模型用来做适配,故欢迎各位大佬们参与贡献;
  • 2、当前暂不支持函数调用。

参与贡献

  • 1、开源大模型的实现类请放置到cn.miketsu.century_avenue.service.open包中,商业闭源大模型请放置到cn.miketsu.century_avenue.service.closed包中;
  • 2、代码合并需提供完整测试报告,格式不限,但内容需要包括流式调用、非流式调用、配置了对接参数的情况下模型列表接口的返回以及未配置时是否可用。

鸣谢

阅读全文

Hello World

2024/12/25

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

Quick Start

Create a new post

$ hexo new "My New Post"

More info: Writing

Run server

$ hexo server

More info: Server

Generate static files

$ hexo generate

More info: Generating

Deploy to remote sites

$ hexo deploy

More info: Deployment

阅读全文
1
avatar
Miketsu

Description