Day113 切換Node.js版本、多數據源配置

切換Node.js版本

1.nvm簡介

nvm(Node Version Manager),在Windows上管理Node.js版本,可以在同一臺電腦上輕松管理和切換多個Node.js版本

nvm下載地址:https://github.com/coreybutler/nvm-windows/

在這里插入圖片描述

2.配置nvm

安裝之后檢查nvm是否已經安裝好了,打開cmd窗口:輸入nvm -v

在這里插入圖片描述

像這樣,如果有版本就是安裝成功了,如果顯示不是命令那就是環境變量沒有配置好

配置nvm的環境變量:

打開電腦的高級系統設置,找到環境變量,修改系統變量的PATH選項,新增nvm的安裝路徑,這樣nvm就配置在電腦中了

在這里插入圖片描述

配置好重新打開cmd窗口就應該可以查看nvm版本了

3.nvm更換Node.js版本

首先使用nvm list available 命令可以查看電腦上可以安裝的Node.js版本

// 查看可安裝的Node.js版本
nvm list available           

安裝需要的版本

// 安裝20.17.0版本的Node.js
nvm install 20.17.0 

在這里插入圖片描述

如果出現successfully就是安裝新版本安裝成功了,現在你可以使用nvm更換Node.js版本了

// 切換使用指定版本的Node.js
nvm use 20.17.0          

出現下面的信息就是更換node版本成功了

C:\Windows\system32>nvm use 20.17.0
Now using node v20.17.0 (64-bit)

查看電腦上的node版本有哪些nvm管理了

// 查看已安裝的Node.js版本
nvm list  

在這里插入圖片描述

多數據源配置

在這里插入圖片描述

yaml配置

application.yml,開發環境使用local

# 項目相關配置
ruoyi:# 名稱name: RuoYi# 版本version: 3.9.0# 版權年份copyrightYear: 2025# 文件路徑 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath)profile: D:/ruoyi/uploadPath# 獲取ip地址開關addressEnabled: false# 驗證碼類型 math 數字計算 char 字符驗證captchaType: math# 開發環境配置
server:# 服務器的HTTP端口,默認為8080port: 8080servlet:# 應用的訪問路徑context-path: /tomcat:# tomcat的URI編碼uri-encoding: UTF-8# 連接數滿后的排隊數,默認為100accept-count: 1000threads:# tomcat最大線程數,默認為200max: 800# Tomcat啟動初始化的線程數,默認值10min-spare: 100# 日志配置
logging:level:com.ruoyi: debugorg.springframework: warnconfig: classpath:logback-${spring.profiles.active}.xml# 用戶配置
user:password:# 密碼最大錯誤次數maxRetryCount: 5# 密碼鎖定時間(默認10分鐘)lockTime: 10# Spring配置
spring:# 資源信息messages:# 國際化資源文件路徑basename: i18n/messagesprofiles:active: local   #切換環境# 文件上傳servlet:multipart:# 單個文件大小max-file-size: 10MB# 設置總上傳的文件大小max-request-size: 20MB# 服務模塊devtools:restart:# 熱部署開關enabled: true# redis 配置redis:# 地址host: localhost# 端口,默認為6379port: 6379# 數據庫索引database: 0# 密碼password:# 連接超時時間timeout: 10slettuce:pool:# 連接池中的最小空閑連接min-idle: 0# 連接池中的最大空閑連接max-idle: 8# 連接池的最大數據庫連接數max-active: 8# #連接池最大阻塞等待時間(使用負值表示沒有限制)max-wait: -1ms# token配置
token:# 令牌自定義標識header: Authorization# 令牌密鑰secret: abcdefghijklmnopqrstuvwxyz# 令牌有效期(默認30分鐘)expireTime: 1380mybatis-plus:#掃描mapper文件所在位置mapper-locations: classpath*:mapper/**/*.xml#可以指定實體類所在包路徑type-handlers-package: com.ruoyi.modules.handler.mybatis_plustype-aliases-package: com.ruoyi.**.domainconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl# PageHelper分頁插件
pagehelper:helperDialect: oraclesupportMethodsArguments: trueparams: count=countSql# Swagger配置
swagger:# 是否開啟swaggerenabled: true# 請求前綴pathMapping: /dev-api# 防止XSS攻擊
xss:# 過濾開關enabled: true# 排除鏈接(多個用逗號分隔)excludes: /system/notice# 匹配鏈接urlPatterns: /system/*,/monitor/*,/tool/*# Knife4j配置
knife4j:# 是否開啟Knife4j(swagger增強版)enable: true# 開啟屏蔽文檔資源production: false

application-dev.yml,再復制兩份,分別改成application-local.yml、application-prod.yml

# 數據源配置
spring:datasource:type: com.alibaba.druid.pool.DruidDataSource
#        driverClassName: com.mysql.cj.jdbc.DriverdriverClassName: dm.jdbc.driver.DmDriverdruid:# 主庫數據源
#            master:
#                url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8
#                username: root
#                password: 123456master:url: jdbc:dm://192.168.1.111:5236/SYSDBAusername: SYSDBApassword: Dove1314# 從庫數據源slave:# 從數據源開關/默認關閉enabled: falseurl: username: password: # 初始連接數initialSize: 5# 最小連接池數量minIdle: 10# 最大連接池數量maxActive: 20# 配置獲取連接等待超時的時間maxWait: 60000# 配置連接超時時間connectTimeout: 30000# 配置網絡超時時間socketTimeout: 60000# 配置間隔多久才進行一次檢測,檢測需要關閉的空閑連接,單位是毫秒timeBetweenEvictionRunsMillis: 60000# 配置一個連接在池中最小生存的時間,單位是毫秒minEvictableIdleTimeMillis: 300000# 配置一個連接在池中最大生存的時間,單位是毫秒maxEvictableIdleTimeMillis: 900000# 配置檢測連接是否有效validationQuery: SELECT 1 FROM DUALtestWhileIdle: truetestOnBorrow: falsetestOnReturn: falsewebStatFilter: enabled: truestatViewServlet:enabled: true# 設置白名單,不填則允許所有訪問allow:url-pattern: /druid/*# 控制臺管理用戶名和密碼login-username: ruoyilogin-password: 123456filter:stat:enabled: true# 慢SQL記錄log-slow-sql: trueslow-sql-millis: 1000merge-sql: truewall:config:multi-statement-allow: true

logback日志配置

logback-dev.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

logback-local.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><!-- 設置MyBatis的日志級別 --><!-- 方式1:打印特定Mapper接口的SQL --><logger name="com.example.mapper" level="DEBUG"/><!-- 方式2:打印所有Mapper接口的SQL --><logger name="org.mybatis" level="DEBUG"/><!-- 方式3:打印執行的SQL語句及參數(更詳細) --><logger name="java.sql.Connection" level="DEBUG"/><logger name="java.sql.Statement" level="DEBUG"/><logger name="java.sql.PreparedStatement" level="DEBUG"/><logger name="java.sql.ResultSet" level="DEBUG"/><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

logback-prod.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration><property name="LOG_PATTERN" value="%d{yyyy-MM-dd HH:mm:ss.SSS},%logger,%C{0},%msg%n"/><appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder></appender><appender name="ALL" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/console.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/console.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><appender name="IOEXCEPTION_LOGGER" class="ch.qos.logback.core.rolling.RollingFileAppender"><encoder><pattern>${LOG_PATTERN}</pattern></encoder><file>${LOG_PATH}/ioexception.log</file><rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"><fileNamePattern>${LOG_PATH}/ioexception.%i.log</fileNamePattern><minIndex>1</minIndex><maxIndex>5</maxIndex></rollingPolicy><triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"><maxFileSize>5MB</maxFileSize></triggeringPolicy></appender><logger name="ioexception" level="INFO" additivity="false"><appender-ref ref="IOEXCEPTION_LOGGER"/></logger><root level="INFO"><appender-ref ref="ALL"/></root>
</configuration> 

啟動命令

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述

輸入命令

-Dspring.profiles.active=local -DLOG_PATH=E:\chiguiCode\cg-lims-notes\logs\admin

日志環境選擇local,日志打印在E:\chiguiCode\cg-lims-notes\logs\admin這個文件夾下

在這里插入圖片描述

運行項目,查看日志文件

在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/87504.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/87504.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/87504.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

應急響應靶機-linux2-知攻善防實驗室

題目&#xff1a; 1.提交攻擊者IP2.提交攻擊者修改的管理員密碼(明文)3.提交第一次Webshell的連接URL(http://xxx.xxx.xxx.xx/abcdefg?abcdefg只需要提交abcdefg?abcdefg)4.提交Webshell連接密碼5.提交數據包的flag16.提交攻擊者使用的后續上傳的木馬文件名稱7.提交攻擊者隱藏…

新手前端使用Git(常用命令和規范)

發一篇文章來說一下前端在開發項目的時候常用的一些git命令 注&#xff1a;這篇文章只說最常用的&#xff0c;最下面有全面的 一&#xff1a;從git倉庫拉取項目到本地 1&#xff1a;新建文件夾存放項目代碼 2&#xff1a;在git上復制一下項目路徑&#xff08;看那個順眼復制…

【面試題】常用Git命令

【面試題】常用Git命令1. 常用Git命令1. 常用Git命令 1.git clone git clone https://gitee.com/Blue_Pepsi_Cola/straw.git 2.使用-v選項&#xff0c;可以參看遠程主機的網址 git remote -v origin https://ccc.ddd.com/1-java/a-admin-api.git (fetch) origin https://ccc.…

Webpack構建工具

構建工具系列 Gulp構建工具Grunt構建工具Webpack構建工具Vite構建工具 Webpack構建工具 構建工具系列前言一、安裝打包配置webpack安裝樣式加載器devtoolwebpack devtool 配置詳解常見 devtool 值及適用場景選擇建議性能影響注意事項 module處理流程module.rulesmodule.usemod…

重學前端002 --響應式網頁設計 CSS

文章目錄 css 樣式特殊說明 根據在這里 Freecodecamp 實踐&#xff0c;調整順序后做的總結。 css 樣式 body {background-color: red; # 跟background-image 不同時使用background-image: url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg);font-family: san…

RabbitMQ簡單消息監聽和確認

如何監聽RabbitMQ隊列 簡單代碼實現RabbitMQ消息監聽 需要的依賴 <!--rabbitmq--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>x.x.x</version>&l…

Docker學習筆記:Docker網絡

本文是自己的學習筆記 1、Linux中的namespace1.1、創建namespace1.2、兩個namespace互相通信2、Docker中的namespace2.1 容器中的默認Bridge3、容器的三種網絡模式1、Linux中的namespace Docker中使用了虛擬網絡技術&#xff0c;讓各個容器的網絡隔離。好像每個容器從網卡到端…

用自定義注解解決excel動態表頭導出的問題

導入的excel有固定表頭動態表頭如何解決 自定義注解&#xff1a; import java.lang.annotation.*;/*** 自定義注解&#xff0c;用于動態生成excel表頭*/ Target(ElementType.FIELD) Retention(RetentionPolicy.RUNTIME) public interface FieldLabel {// 字段中文String label(…

Android-EDLA 解決 GtsMediaRouterTestCases 存在 fail

問題描述&#xff1a;[原因]R10套件新增模塊&#xff0c;getRemoteDevice獲取遠程藍牙設備時&#xff0c;藍牙MAC為空 [對策]實際藍牙MAC非空;測試時繞過處理 1.release/ebsw_skg/skg/frameworks/base/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaManage…

雙渦輪增壓器結構設計cad【5張】+設計說明書

摘要 隨著汽車制造商和消費者對動力性能的要求不斷增加&#xff0c;發動機需要在更寬的轉速范圍內提供更大的功率和扭矩。雙渦輪增壓器可以幫助實現這一目標&#xff0c;通過在不同轉速下調整渦輪的工作狀態來提供更平順的動力輸出。單一渦輪增壓器可能存在渦輪滯后和增壓延遲…

大數據輕量化流批一體架構探索實踐(一)

最近學習了解到一種輕量化&#xff0c;維護門檻較低的流批一體化的架構方式&#xff0c;雖然目前還是不太成熟&#xff0c;自己也在探索學習中。 dolphinschedulerdinkystarrocksflinkzookeper 后面我會逐步發一下這個整體架構的特點&#xff0c;以及各個組件作用&#xff0c;和…

【2025/07/04】GitHub 今日熱門項目

GitHub 今日熱門項目 &#x1f680; 每日精選優質開源項目 | 發現優質開源項目&#xff0c;跟上技術發展趨勢 &#x1f4cb; 報告概覽 &#x1f4ca; 統計項&#x1f4c8; 數值&#x1f4dd; 說明&#x1f4c5; 報告日期2025-07-04 (周五)GitHub Trending 每日快照&#x1f55…

HarmonyOS學習記錄3

HarmonyOS學習記錄3 本文為個人學習記錄&#xff0c;僅供參考&#xff0c;如有錯誤請指出。本文主要記錄ArkTS基礎語法&#xff0c;僅記錄了部分我覺得與其他語言不太類似的地方&#xff0c;具體規范請參考官方文檔。 參考官方文檔&#xff1a;https://developer.huawei.com/co…

HKS201-M24 大師版 8K60Hz USB 3.0 適用于 2 臺 PC 1臺顯示器 無縫切換 KVM 切換器

HKS201-M24 8K60Hz HDMI 2.1 2x1 KVM 切換器&#xff0c;適用于 2 臺 PC&#xff0c;帶 EDID 仿真、千兆 LAN、雙充電和 USB 3.2 Gen 1 HKS201-M24 產品概述 TESmart 重新定義智能工作空間&#xff0c;無縫雙PC控制。 真正的 8K60Hz 亮度&#xff0c;具有 EDID 穩定性和超快速…

stm32f103vct6的DAC口的輸出電壓達不到3.3V

問題&#xff1a;調試時發現自己設置的DAC在最大時達不到3.3V&#xff0c;總結了原因&#xff0c;記錄下。 原因&#xff1a;使用時&#xff0c;注意有沒有其他負載&#xff0c;有的話最好給負載獨立供電&#xff0c;不要只用STM32f103的板湊活著供電&#xff0c;我的就是這個…

java8 Collectors.mapping 使用 例子 學習

java8 Collectors.mapping 使用 例子 學習 Map<String, List<String>> colorApple appleList.stream().collect(Collectors.groupingBy(Apple::getColor, Collectors.mapping(Apple::getVariety, toList()))); colorApple.forEach((k, v) -> {System.out.prin…

動態規劃-P1216 [IOI 1994] 數字三角形 Number Triangles

P1216 [IOI 1994] 數字三角形 Number Triangles 題目來源-洛谷題庫 思路 如果用貪心只是找當前的到達該點的路徑最大值&#xff0c;可能結果無法做到最優最值問題試著看能否將大問題分解成若干個小問題 走到a[i] [j ]這個點的最值來源于上一步a[i-1 ] [j]和a[i-1] [j-1]的最…

25年Java后端社招技術場景題!

一、電商領域高頻場景題1. 百萬級QPS秒殺系統設計場景需求&#xff1a;設計一個支持百萬級QPS的秒殺系統&#xff0c;要求解決超賣問題&#xff0c;保證系統高可用。技術方案&#xff1a;分層削峰&#xff1a;前端頁面靜態化按鈕防重復點擊Redis集群&#xff1a;采用Lua腳本實現…

牛客:HJ16 購物單【01背包】【華為機考】

學習要點 深入理解回溯深入理解01背包問題 題目鏈接 購物單_牛客題霸_牛客網 題目描述 解法1&#xff1a;回溯 其實此題非常符合取子集的邏輯&#xff0c;但是時間復雜度太高。通過11/14。想寫出來這個回溯過程&#xff0c;不容易。 #include <iostream> #include &l…

[學習記錄]Unity毛發渲染[URP]-Fin基礎版

鰭片法是一種在多邊形表面垂直添加許多多邊形&#xff0c;并在其上粘貼毛發紋理以營造毛茸茸的感覺的技術。這就像種植許多鰭&#xff08;就像魚身上的鰭一樣&#xff09;。本期我將在Unity6中實現一下基礎的Fin毛發&#xff0c;并不涉及光照著色。后面我會出一篇加上著色效果的…