Deprecated: Creation of dynamic property Typecho\Widget\Request::$feed is deprecated in /www/wwwroot/blog.iletter.top/var/Widget/Archive.php on line 253
白荼日记 - 故障 2026-01-04T14:05:00+08:00 Typecho https://blog.iletter.top/feed/atom/tag/%E6%95%85%E9%9A%9C/ <![CDATA[Win11打开文件夹显示找不到应用程序]]> https://blog.iletter.top/archives/519/ 2026-01-04T14:05:00+08:00 2026-01-04T14:05:00+08:00 DelLevin https://blog.iletter.top
  • 按【 Win + R 】组合键,打开运行,输入【regedit】命令,按【确定或回车】打开注册表编辑器;
  • 注册表编辑器窗口,依次展开到以下路径:
    HKEY_CLASSES_ROOT\Folder\shell
  • 在【Shell】下通常默认有下图几项,如果有其它第三方软件命名项,我们可以【右键删除】;
  • 左侧列表中,点击【shell】,在右侧双击名称为【默认】的项;
  • 将数值数据【清空】,最后点击【确定】;
  • 以上设置完成后,重启电脑再看是否正常。
  • ]]>
    <![CDATA[开机显示windows无法完成安装,解决方法]]> https://blog.iletter.top/archives/470/ 2025-10-21T21:41:00+08:00 2025-10-21T21:41:00+08:00 DelLevin https://blog.iletter.top 1.等待报错出现

    2.按住shift+F10 进入cmd界面

    3.输入regedit编辑注册表

    4.找到路径 计算机\HKEY_LOCAL_MACHINE\SYSTEM\Setup

    5.编辑内部数据

    • OOBEInProgress 设置为 0
    • CmdLine 设置为空,即删除里面的数据
    • SetupPhase 设置为 0
    • SetupType 设置为 0
    • SystemSetupInProgress 设置为 0

    6.再次打开 cmd 窗口 输入以下命令行
    net user administrator /active:yes

    然后重启系统即可正常进入系统。

    ]]>
    <![CDATA[windows server 2019 docker安装]]> https://blog.iletter.top/archives/365/ 2025-07-14T17:11:31+08:00 2025-07-14T17:11:31+08:00 DelLevin https://blog.iletter.top windows server 2019 docker安装

    最近把家里的旧服务器搬到出租屋里面来了,准备当服务器用来着,二十年前的老机器了。想着用微信hook的功能,所以选择的windows server。配置好一些环境之后开始配置docker环境除了一些问题。

    启用Hyper-V和Containers功能

    运行管理员权限powershell
    Install-WindowsFeature -Name Hyper-V,Containers -IncludeAllSubFeature -IncludeManagementTools -Verbose

    配置安装源

    Install-Module -Name DockerMsftProvider -Repository PSGallery -Verbose

    安装Docker

    运行管理员权限powershell,国内安装可能会因为网络原因失败,可以尝试手动安装,如果按照成功这下面步骤不用进行了
    Install-Package -Name docker -ProviderName DockerMsftProvider -Verbose

    下载文件

    PS C:\Users\Administrator\Desktop> Invoke-WebRequest -UseBasicParsing -OutFile D:\docker-28.3.2.zip https://download.docker.com/win/static/stable/x86_64/docker-28.3.2.zip

    文件下载地址

    https://download.docker.com/win/static/stable/x86_64/

    配置系统环境变量Path

    注册为系统服务

    dockerd --register-service -H npipe:// -H tcp://0.0.0.0:2375 --config-file "D:\Env\docker\config\daemon.json"

    配置文件内容

    D:\Env\docker\config\daemon.json

    {
      "dns": ["114.114.114.114", "8.8.8.8"],
      "data-root":  "D:\\Env\\docker\\data",
      "registry-mirrors": ["https://registry.docker-cn.com"]
    }

    其他命令

    设置Docker开机启动

    Set-Service -Name docker -StartupType Automatic

    启动 Docker 服务

    Start-Service docker

    重启 Docker 服务

    Restart-Service Docker -Force

    停止 Docker 服务

    Stop-Service Docker

    docker-compose下载

    https://github.com/docker/compose/releases

    1.下载适用于 Windows 的 docker-compose-Windows-x86_64.exe 文件。

    2.将文件重命名为 docker-compose.exe 并移动到 Docker 安装目录(如 D:\Env\docker)

    ps:安装完了我才发现,windows server 2019的docker不支持linux的容器,要想弄,还要一个wsl支持,或者升级机器配置。想想还是算了,直接换ubuntu 的server版了

    ]]>
    <![CDATA[Window10 安装软件时报错:Called RunScript when not marked in progress]]> https://blog.iletter.top/archives/170/ 2024-10-13T23:54:00+08:00 2024-10-13T23:54:00+08:00 DelLevin https://blog.iletter.top Window10 安装软件时报错:Called RunScript when not marked in progress

    解决办法:

    1. 进入 C:\Windows
    2. 找到"temp"文件夹 ---- 右键“属性” --- “高级” --- “更改”
    3. 然后点击 “高级”


    输入电脑当前用户的姓名,进行搜索

    ]]>
    <![CDATA[ERR_UNSAFE_PORT情况解决]]> https://blog.iletter.top/archives/131/ 2023-05-17T23:48:00+08:00 2023-05-17T23:48:00+08:00 DelLevin https://blog.iletter.top 起因是,今天看到一个有趣的项目(https://github.com/usememos/memos)想拉下来跑跑体验一下。结果在docker之后,指定好了端口,打开时却出现如下的情况

    再次确认后台程序在跑的时候,已经基本确定就是某些操作的问题,或许是被拦截了。

    在看到前端报错的时候发现他在告诉我这个情况

    ERR_UNSAFE_PORT

    仔细查询(https://zhuanlan.zhihu.com/p/383077079)了之后才发现这是浏览器的安全问题导致无法打开。虽说可以是强制打开,但是还是换个端口比较稳妥。

      1,    // tcpmux
      7,    // echo
      9,    // discard
      11,   // systat
      13,   // daytime
      15,   // netstat
      17,   // qotd
      19,   // chargen
      20,   // ftp data
      21,   // ftp access
      22,   // ssh
      23,   // telnet
      25,   // smtp
      37,   // time
      42,   // name
      43,   // nicname
      53,   // domain
      77,   // priv-rjs
      79,   // finger
      87,   // ttylink
      95,   // supdup
      101,  // hostriame
      102,  // iso-tsap
      103,  // gppitnp
      104,  // acr-nema
      109,  // pop2
      110,  // pop3
      111,  // sunrpc
      113,  // auth
      115,  // sftp
      117,  // uucp-path
      119,  // nntp
      123,  // NTP
      135,  // loc-srv /epmap
      139,  // netbios
      143,  // imap2
      179,  // BGP
      389,  // ldap
      465,  // smtp+ssl
      512,  // print / exec
      513,  // login
      514,  // shell
      515,  // printer
      526,  // tempo
      530,  // courier
      531,  // chat
      532,  // netnews
      540,  // uucp
      556,  // remotefs
      563,  // nntp+ssl
      587,  // stmp?
      601,  // ??
      636,  // ldap+ssl
      993,  // ldap+ssl
      995,  // pop3+ssl
      2049, // nfs
      3659, // apple-sasl / PasswordServer
      4045, // lockd
      6000, // X11
      6665, // Alternate IRC
      6666, // Alternate IRC
      6667, // Standard IRC
      6668, // Alternate IRC
      6669, // Alternate IRC
    ]]>
    <![CDATA[TypeError: this.getOptions is not a function 的解决(vue,react)]]> https://blog.iletter.top/archives/121/ 2023-05-07T23:48:00+08:00 2023-05-07T23:48:00+08:00 DelLevin https://blog.iletter.top 卸载安装老版本的即可

    npm uninstall less-loader
    
    npm install less-loader@5.0.0

    报错信息

    TypeError: this.getOptions is not a function 这个是在运行项目是遇到的问题

    vue


    react

    这个报错是类型错误,this.getOptions 不是一个函数 。这个错误是less-loader库里的错误。

    主要是less-loader版本太高,不兼容this.getOptions方法。

    解决方案

    通过 npm uninstall less-loader 命令卸载原版本的 less-loader,然后 通过 npm install less-loader@5.0.0 命令下载降级版本的 less-loader,这个问题就可以解决了.

    npm uninstall less-loader
    
    npm install less-loader@5.0.0

    或者可以删除node_modules文件夹,并且把package.json里less-loader里的版本改为5.0.0就行,然后npm install

    不止 less-loader 同样 scss-loader ,css-loader,style-loader都有可能出现 。

    只需要 看报错 具体 是什么 上图 为例 报的是css-loader .所以 卸载对应得就行。

    npm uninstall css-loader
    
    npm install css-loader@5.0.0

    具体降到哪个版本 需要 看看 版本信息 比如 style-loader

    style-loader)降低 到 之前的版本 比如 2.0.0

    ]]>
    <![CDATA[数据库Error Code 1067 - Invalid default value 的解决办法]]> https://blog.iletter.top/archives/99/ 2023-04-24T23:48:00+08:00 2023-04-24T23:48:00+08:00 DelLevin https://blog.iletter.top 报错:

        Error Code: 1067 - Invalid default value for 'LOCK_TIME_'
    

    查阅资料知道是mysql从5.7开始,默认是严格模式,严格遵从SQL92规范。

    公司mysql版本:5.7.25

    我的mysql版本:5.7.40

    因为mysql差距不大的原因,所以猜测,应该是我没开启timestamp默认值规则

    先查看是否开启了

     show variables like 'explicit_defaults_for_timestamp'; 

    忘了截图了,不过查询出来的结果是off

    设置开启

    set global explicit_defaults_for_timestamp = ON;

    再次查看是否开启

    开启了,然后再次导入数据库。就可以了。

    还有一种解决方式是去除掉关于时间这些not null字段,也可以,不过实在是太多了,所以就没有选择此种方法。

    参考连接:

    https://www.jianshu.com/p/523a0bf27095

    https://blog.csdn.net/u010227042/article/details/123321421

    ]]>
    <![CDATA[cb() never called!的解决办法]]> https://blog.iletter.top/archives/103/ 2023-04-24T23:48:00+08:00 2023-04-24T23:48:00+08:00 DelLevin https://blog.iletter.top npm ERR! cb() never called! npm ERR! This is an error with npm itself. Please report this error at: npm ERR! <https://npm.community> npm ERR! A complete log of this run can be found in: npm ERR! /Users/geekchief/.npm/_logs/2021-07-12T06_56_29_399Z-debug.log

    github的issue的讨论: https://github.com/npm/cli/issues/417
    错误的意思是,npm程序执行到未知流程节点中然后没有调用回调通知任务已执行完成,导致进程异常退出,据官方说法他们也没有太好的方式解决,不过网上的东西大多数不靠谱,但是有挺多人用的淘宝源,出这个错误的概率会大大提高。

    先尝试清楚npm缓存再安装试试

    npm cache clean -force

    然后

    npm install

    不过这个办法多数时候不管用

    造成这个办法的情况是使用的淘宝的源,建议换回官方的源,然后再次安装

    查看是什么源

    npm config get registry

    淘宝的源,好的,果断替换

    换回官方源

    npm config set registry https://registry.npmjs.org/

    再次查看

    替换成功了,多数时候下载会失败或者很慢,这就需要我们科学上网了,设置npm代理的端口。

    npm config set proxy=http://127.0.0.1:10809

    然后如果想查看npm配置的话可以使用这个命令查看npm config list

    再次npm install安装就会成功了

    ]]>
    <![CDATA[Failed to start bean documentationPluginsBootstrapper]]> https://blog.iletter.top/archives/84/ 2023-04-03T23:48:00+08:00 2023-04-03T23:48:00+08:00 DelLevin https://blog.iletter.top 关于报错org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'

    
    Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
    2023-04-03 00:08:57.651 ERROR 15032 --- [           main] o.s.boot.SpringApplication               : Application run failed
    
    org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar:5.3.22]
        at java.base/java.lang.Iterable.forEach(Iterable.java:75) ~[na:na]
        at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar:5.3.22]
        at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.6.10.jar:2.6.10]
        at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:745) ~[spring-boot-2.6.10.jar:2.6.10]
        at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:420) ~[spring-boot-2.6.10.jar:2.6.10]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:307) ~[spring-boot-2.6.10.jar:2.6.10]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1317) ~[spring-boot-2.6.10.jar:2.6.10]
        at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) ~[spring-boot-2.6.10.jar:2.6.10]
        at com.wonder.UselessToolsApplication.main(UselessToolsApplication.java:14) ~[classes/:na]
    Caused by: java.lang.NullPointerException: null
        at springfox.documentation.spi.service.contexts.Orderings$8.compare(Orderings.java:112) ~[springfox-spi-2.9.2.jar:null]
        at springfox.documentation.spi.service.contexts.Orderings$8.compare(Orderings.java:109) ~[springfox-spi-2.9.2.jar:null]
        at com.google.common.collect.ComparatorOrdering.compare(ComparatorOrdering.java:37) ~[guava-20.0.jar:na]
        at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[na:na]
        at java.base/java.util.TimSort.sort(TimSort.java:220) ~[na:na]
        at java.base/java.util.Arrays.sort(Arrays.java:1441) ~[na:na]
        at com.google.common.collect.Ordering.sortedCopy(Ordering.java:855) ~[guava-20.0.jar:na]
        at springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider.requestHandlers(WebMvcRequestHandlerProvider.java:57) ~[springfox-spring-web-2.9.2.jar:null]
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$2.apply(DocumentationPluginsBootstrapper.java:138) ~[springfox-spring-web-2.9.2.jar:null]
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper$2.apply(DocumentationPluginsBootstrapper.java:135) ~[springfox-spring-web-2.9.2.jar:null]
        at com.google.common.collect.Iterators$7.transform(Iterators.java:750) ~[guava-20.0.jar:na]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47) ~[guava-20.0.jar:na]
        at com.google.common.collect.TransformedIterator.next(TransformedIterator.java:47) ~[guava-20.0.jar:na]
        at com.google.common.collect.MultitransformedIterator.hasNext(MultitransformedIterator.java:52) ~[guava-20.0.jar:na]
        at com.google.common.collect.MultitransformedIterator.hasNext(MultitransformedIterator.java:50) ~[guava-20.0.jar:na]
        at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:249) ~[guava-20.0.jar:na]
        at com.google.common.collect.ImmutableList.copyOf(ImmutableList.java:209) ~[guava-20.0.jar:na]
        at com.google.common.collect.FluentIterable.toList(FluentIterable.java:614) ~[guava-20.0.jar:na]
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.defaultContextBuilder(DocumentationPluginsBootstrapper.java:111) ~[springfox-spring-web-2.9.2.jar:null]
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.buildContext(DocumentationPluginsBootstrapper.java:96) ~[springfox-spring-web-2.9.2.jar:null]
        at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:167) ~[springfox-spring-web-2.9.2.jar:null]
        at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar:5.3.22]
        ... 14 common frames omitted

    问题分析

    因为Springfox 使用的路径匹配是基于AntPathMatcher的,而Spring Boot 2.6.X使用的是PathPatternMatcher。

    修复方案

    修复方案一:降低Spring Boot 版本到2.6.x以下版本

    比如下面版本组合是兼容的

    Spring Boot版本Swagger 版本
    2.5.62.9.2

    修复方案二: SpringBoot版本不降级解决方案

    比如下面版本组合是兼容的

    Spring Boot版本Swagger 版本
    2.6.53.0.0

    修复方案三:设置application配置文件

    spring:
      mvc:
        pathmatch:
          matching-strategy: ant_path_matcher

    修复方案四,修改spring源文件

    我没找到这个java文件。。。。没试过,估计应该可以。。

    参考地址:https://github.com/springfox/springfox/issues/3462

    1. revert matching strategy spring.mvc.pathmatch.matching-strategy to ant-path-matcher
    2. hack springfox WebMvcRequestHandlerProvider to filter out actuator controllers which don't respect spring.mvc.pathmatch.matching-strategy

          public WebMvcRequestHandlerProvider(Optional<ServletContext> servletContext, HandlerMethodResolver methodResolver,
                  List<RequestMappingInfoHandlerMapping> handlerMappings) {
              this.handlerMappings = handlerMappings.stream().filter(mapping -> mapping.getPatternParser() == null)
                      .collect(Collectors.toList());

    swagger配置类

    .apis(RequestHandlerSelectors.basePackage("com.wonder.controller"))

    这里填写扫描包,对应类添加@API

    package com.wonder.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    import springfox.documentation.swagger2.annotations.EnableSwagger2;
    
    
    import javax.servlet.ServletContext;
    import java.util.Optional;
    
    @Configuration // 标明是配置类
    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket createRestApi() {
            return new Docket(DocumentationType.SWAGGER_2)  // DocumentationType.SWAGGER_2 固定的,代表swagger2
    //                .groupName("分布式任务系统") // 如果配置多个文档的时候,那么需要配置groupName来分组标识
                    .apiInfo(apiInfo()) // 用于生成API信息
                    .select() // select()函数返回一个ApiSelectorBuilder实例,用来控制接口被swagger做成文档
                    .apis(RequestHandlerSelectors.basePackage("com.wonder.controller")) // 用于指定扫描哪个包下的接口
                    .paths(PathSelectors.any())// 选择所有的API,如果你想只为部分API生成文档,可以配置这里
                    .build();
        }
    
        /**
         * 用于定义API主界面的信息,比如可以声明所有的API的总标题、描述、版本
         * @return
         */
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("项目API") //  可以用来自定义API的主标题
                    .description("项目SwaggerAPI管理") // 可以用来描述整体的API
                    //.termsOfServiceUrl("") // 用于定义服务的域名
                    .version("1.0") // 可以用来定义版本。
                    .build(); //
        }
    
    }

    访问地址:http://localhost:8080/swagger-ui.html

    ]]>
    <![CDATA[U盘文件消失却占内存的解决方法]]> https://blog.iletter.top/archives/75/ 2023-04-02T23:48:00+08:00 2023-04-02T23:48:00+08:00 DelLevin https://blog.iletter.top

    title: 'U盘文件消失却占内存的解决方法 '
    updated: 2021-01-26 14:48:06Z
    created: 2021-01-26 14:48:06Z
    source: https://www.wonder1999.com/index.php/archives/18.html
    tags:

    • windows
    • 故障

    方法一

    查看U盘属性,如果已用空间不为0,那么可以使用以下方法。在你的U盘里面直接新建一个txt文档在里面输入attrib -s -h /s /d保存。然后打开我的电脑->工具->文件夹选项->查看,将里面的隐藏已知文件扩展名前面的勾去掉。如果已经去掉了就不用这步操作了。然后再将刚刚新建的TXT文档改名为0.bat。双击运行即可。

    方法二

    如果你的U盘属性显示已用空间为0,那么我们可以借用软件来解决,首先下载一个EASY RECOVERY,可以在系统之家网站上下载此软件的汉化注册版,把文件恢复。

    方法三

    插入U盘,然后不要打开,而是右键单击盘符。选择“作为媒体便携设备打开”,文件全部显示出来了,但是不能打开,把它复制到本地硬盘就行了,数据备份好以后把U盘格式化。

    以上方法适用于你的U盘文件没隐藏也没有中毒,如果是U盘中毒原因,可以使用杀毒软件或者专门对付U盘病毒的USBCleaner,可以非常有效的清理你的U盘病毒,还能给你的U盘加上免疫功能,U盘的价格如今已非常便宜,如果是硬件坏了的话就赶紧再买一个吧。

    ]]>