首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
40 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
告别破解!用Aspose.Words实现Java版Word转PDF的实战指南
14 阅读
4
【N1和Armbian】一、N1刷Linux系统armbian
12 阅读
5
aris常用命令收集
12 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
588
篇文章
累计收到
9
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
36
篇与
的结果
2026-05-20
NGINX 零停机平滑升级全流程实操指南
一、 概述在生产环境下,升级 NGINX 二进制文件通常面临一个挑战:如何升级而不需要停止服务(零停机)?NGINX 通过一套精巧的信号量(Signals)机制实现了平滑升级。其核心原理是:启动一个新的主进程(Master Process)接管监听端口,让旧进程在处理完现有请求后优雅退出,从而实现无缝切换。二、 升级前置准备与环境摸底在升级之前,必须确保新版本的编译参数与当前运行的版本完全一致,否则会导致启动失败或功能缺失。1. 查询当前版本及编译参数# 查看当前版本号 nginx -v # 查看详细编译参数 (极其重要,升级时必须使用相同的参数) nginx -V记录项: 重点记录 configure arguments 之后的所有内容(如 --prefix=/usr/local/nginx)。2. 确认二进制文件路径与 PID# 确认 nginx 可执行文件路径 which nginx # 确认当前运行的主进程 PID ps aux | grep nginx 记录项: 记录 master process 的 PID。3. 配置文件语法检查在任何操作前,确保当前配置文件没有语法错误。nginx -t三、 新版本编译准备核心原则:只编译→→不安装。 严禁直接执行 make install,因为这会覆盖您生产环境的配置文件。1. 下载并解压wget http://nginx.org/download/nginx-x.x.x.tar.gz tar -zxvf nginx-x.x.x.tar.gz cd nginx-x.x.x2. 配置与编译使用第一阶段记录的编译参数进行配置:# 使用之前 nginx -V 记录的参数 ./configure --prefix=/usr/local/nginx [其他参数...] # 编译生成二进制文件 make编译完成后,新的二进制文件位于 objs/nginx。四、 执行平滑升级(核心步骤)步骤 1:二进制文件替换由于 Linux 内核禁止覆盖正在运行的二进制文件(会报 Text file busy),我们必须使用 mv 命令通过改变 inode 的方式进行替换。 # 1. 备份旧文件 cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak # 2. 使用 mv 替换新文件 (绕过 Text file busy) mv objs/nginx /usr/local/nginx/sbin/nginx # 3. (可选) 如果系统中有快捷路径 /usr/local/bin/nginx,请同步更新 cp /usr/local/nginx/sbin/nginx /usr/local/bin/nginx步骤 2:启动新主进程 (USR2)向旧主进程发送 USR2 信号,通知其启动新版本的二进制进程。 kill -USR2 <旧MasterPID> 状态: 此时,旧主进程和新主进程同时存在,它们共同监听端口,但新请求将开始分发给新进程。 步骤 3:优雅停止旧工作进程 (WINCH) 向旧主进程发送 WINCH 信号,通知旧的工作进程(Worker Processes)在处理完当前请求后立即退出。 code Bash kill -WINCH <旧MasterPID> 状态: 此时,所有新流量已全部由新版本进程处理。步骤 4:业务验证(关键环节) 在彻底删除旧版本前,必须进行全方位验证: 本地验证: curl -I http://127.0.0.1:端口 外部验证: telnet IP 端口 或 浏览器访问。 日志验证: tail -f /usr/local/nginx/logs/error.log 检查是否有 [emerg] 报错。 ### 步骤 5:彻底关闭旧主进程 (QUIT) 确认业务运行稳定后,关闭不再需要的旧主进程。 ```text kill -QUIT ``` 五、 异常处理与回滚方案 1. 怎么回滚? 如果在 步骤 3 之后发现新版本运行异常,可以通过以下指令将流量瞬间切回旧版本: code Bash # 向新主进程发送 WINCH 信号,让新 worker 退出 kill -WINCH # 此时流量会自动切回尚未关闭的旧 worker 进程 2. 常见坑点排查 ```text Text file busy: 不要用 cp 覆盖运行中的文件,必须用 mv。 版本显示不一致: 如果 nginx -v 显示旧版而 ps 显示新版,说明 /usr/local/bin/nginx 和 /usr/local/nginx/sbin/nginx 两者不一致,请同步覆盖。 Telnet 不通: 若 curl 内部通但外部不通,请检查防火墙(Firewalld/Security Group)策略,这通常与 NGINX 升级无关,而是网络层波动。 ``` 六、 总结流程图 备份→→编译→→mv替换→→USR2(启动新版)→→WINCH(切流量)→→验证→→QUIT(删旧版)
2026年05月20日
6 阅读
0 评论
0 点赞
2026-04-08
从Google Authenticator解密获取2FA密钥备份教程
前言启用2FA可以有效的保证账户安全,但一旦手机丢失或者换手机等操作不当丢失2FA密钥就会导致账户可能再也无法找回。Google Authenticator是一个常用的二步验证动态口令生成工具,支持设备间转移和google云备份,但是在软件内不能直接查看到密钥,不能很方便的进行密钥的本地保存和备份,或者是迁移到其它2FA平台。这里介绍一个从Google Authenticator解密获取到2FA密钥的工具和使用方法。操作过程导出配置文件二维码打开Google Authenticator,点击左上角的三条横线按钮,选择转移账号选择导出账号勾选需要导出的账号并点击下一步这里我们会看到一个二维码,截图保存为文件,比如ga.jpg使用decodeGoogleOTP工具解码为了方便整个过程,我写了一个命令行工具decodeGoogleOTP,前往Github下载页面,根据自己的平台,下载最新版本的工具。https://github.com/Kuingsmile/decodeGoogleOTP/releases下载后解压,为了方便操作可以重命名一下,比如windows平台重命名为decodeGoogleOTP.exe,然后和ga.jpg放在一个文件夹下。decodeGoogleOTP支持将结果导出为csv文件、json文件、txt文件或者二维码图片等多种格式。如果我们需要将结果导出为json文件,运行如下命令即可decodeGoogleOTP -i ga.jpg -c output.json输出的结果格式如下:[ { "issuer": "", "name": "xx", "secret": "AAAAAAAAAAA", "type": "totp", "counter": 0, "url": "otpauth://totp/xx?secret=AAAAAAAAAAA" } ]其中secret字段就是2FA密钥,有了密钥就可以方便的转移到其它平台。而url可以用来生成二维码供其它2FA软件扫描导入,也可以使用decodeGoogleOTP直接导出二维码图片供扫描
2026年04月08日
4 阅读
0 评论
0 点赞
2026-03-29
【N1安装飞牛优化三】Btrfs 挂载优化,限制 Docker 日志大小 (防止撑爆硬盘),额外启动参数优化CPU
限制 Docker 日志大小 (防止撑爆硬盘)修改 /etc/docker/daemon.json(如果没有就新建):{ "data-root": "/vol1/docker", "log-driver": "json-file", "log-opts": { "max-size": "10m", "max-file": "3" } }Btrfs 挂载优化第一步:优化系统根分区 (ROOT_EMMC)将系统分区的 defaults,noatime 后面补上压缩参数。替换原有的 / 挂载参数:UUID=b1bd1ce4-2204-4176-919f-973ba364a320 / btrfs defaults,noatime,compress=zstd:1,space_cache=v2,errors=remount-ro 1第二步:强制接管数据分区 (/vol1)在 fstab 的末尾添加一行,显式地指定 /vol1 的挂载选项。这样能确保你在 USB 2.0 硬盘读写时获得更稳的体验:UUID=3b009fa0-dee0-4f30-a79d-869b2f21b013 /vol1 btrfs defaults,noatime,compress=zstd:1,autodefrag,commit=15,space_cache=v2 0 0UUID可以通过: blkid | grep btrfs 进行查询额外启动参数优化CPU因为 N1 用的 A53 的核心非常老,现代 Linux 内核为了防范 CPU 漏洞(幽灵/熔断),默认开启了一堆减慢速度的补丁。由于你的 N1 只是做家庭 NAS,风险极低。我们可以关掉这些防御来提速。🛠️ 操作步骤:编辑 /boot/fnEnv.txt: 找到 extraargs 这一行,在末尾加上 mitigations=off。修改后的 extraargs 应该是这样的:verbosity=1 bootlogo=false console=both fdtfile=amlogic/meson-gxl-s905d-phicomm-n1.dtb extraargs=console=ttyAML0,115200n8 console=tty0 usb-storage.quirks=152d:0576:u kernelfile=vmlinuz-6.18.18-trim mitigations=off initrdfile=uInitrd-6.12.41-trim保存并重启:reboot
2026年03月29日
2 阅读
0 评论
0 点赞
2026-01-11
Onlyoffice 文件大小超出了为服务器设置的限制
我的容器名是 myonlyoffice 请修改成自己的容器名一、从docker 容器中下载 /etc/onlyoffice/documentserver/default.jsondocker cp myonlyoffice:/etc/onlyoffice/documentserver/default.json /usr/local/default.json查看 default.json 文件中的 FileConverter"FileConverter": { "converter": { "maxDownloadBytes": 524288000, // 这里要修改 "downloadTimeout": { "connectionAndInactivity": "2m", "wholeCycle": "2m" }, "downloadAttemptMaxCount": 3, "downloadAttemptDelay": 1000, "maxprocesscount": 1, "fontDir": "null", "presentationThemesDir": "null", "x2tPath": "null", "docbuilderPath": "null", "args": "", "spawnOptions": {}, "errorfiles": "", "streamWriterBufferSize": 8388608, "maxRedeliveredCount": 2, "inputLimits": [ { "type": "docx;dotx;docm;dotm", "zip": { "uncompressed": "5000MB", // 修改 "template": "*.xml" } }, { "type": "xlsx;xltx;xlsm;xltm", "zip": { "uncompressed": "1000MB", // 修改 "template": "*.xml" } }, { "type": "pptx;ppsx;potx;pptm;ppsm;potm", "zip": { "uncompressed": "1000MB", // 修改 "template": "*.xml" } } ] } }二、将修改好的配置文件上传到容器中docker cp /usr/local/default.json myonlyoffice:/etc/onlyoffice/documentserver/default.json在重启容器docker restart myonlyoffice三、完成
2026年01月11日
2 阅读
0 评论
0 点赞
2025-09-29
OnlyOffice 9.0.4 前端定制记录:去除匿名命名弹窗、隐藏插件菜单、关闭页眉 Logo 链接
前言本文记录在 OnlyOffice DocumentServer Web 前端侧的定制修改,适用于 9.0.4 版本。修改基于统一 SDK api.js,对所有编辑器生效(文档/表格/演示/PDF/Visio)。一、修改目标关闭“输入用于协作的名称”匿名命名弹窗隐藏“插件”功能区选项卡,并禁用插件能力隐藏页眉左上角的 OnlyOffice Logo(去除跳转链接)二、变更文件与位置生产服务真实使用目录(按你的安装方式选择其一):Docker: /var/www/onlyoffice/documentserver/web-apps/apps/api/documents/api.jsLinux 安装版: 同上路径Windows 安装版: C:\Program Files\ONLYOFFICE\DocumentServer\web-apps\apps\api\documents\api.js模板文件(务必同步):api.js.tpl压缩文件(务必处理):api.js.gz(可能还有 api.js.br)说明:OnlyOffice 实际加载的资源通常带有版本哈希前缀,例如 /9.0.4-xxxx/web-apps/.../api.js。重启/升级后该目录可能再生成,因此建议同时改模板并处理压缩文件,或在业务集成处直接传参覆盖(见文末“更稳妥做法”)。三、代码改动点(统一 SDK 默认配置)修改 DocsAPI.DocEditor.defaultConfig.editorConfig.customization:// 关闭匿名命名弹窗 anonymous: { request: false }, // 隐藏插件选项卡 layout: { toolbar: { plugins: false } }, // 完全禁用插件能力 plugins: false, // 隐藏页眉 Logo(无渲染自然无链接) logo: { visible: false }以上片段出现在:apps/api/documents/api.js 内 DocsAPI.DocEditor.defaultConfig 对象中同步到 apps/api/documents/api.js.tpl,避免重启后被模板覆盖四、同步到服务端并处理压缩文件 - 必须同步两处源码:api.js 与 api.js.tpl - 压缩资源处理(二选一): ### 简便做法(回退用未压缩版) ```text # 删除压缩文件,让服务器回退到未压缩的 api.js # Linux rm api.js.gz rm api.js.br # Windows 资源管理器直接删除 api.js.gz(和 api.js.br,如果有) ``` ### 推荐做法(保持压缩以提升性能) Windows(7-Zip + Brotli): ```text # 进入目录:.../web-apps/apps/api/documents/ 7z a -tgzip -mx=9 api.js.gz api.js # 若有 brotli .\brotli.exe -f -q 11 api.js -o api.js.br ``` Linux: ```text # 进入目录:.../web-apps/apps/api/documents/ gzip -c -9 api.js > api.js.gz brotli -f -q 11 api.js -o api.js.br # 如需 ``` 完成后: 重启 DocumentServer/容器/反向代理(示例:supervisorctl restart all 或重启容器/服务) 清浏览器与代理/CDN 缓存;或追加时间戳强刷: http:///web-apps/apps/api/documents/api.js?_ts=1690000000000 ## 五、验证步骤 1) 打开浏览器开发者工具 Network,搜索 api.js,确认实际请求路径(可能是带版本号的路径)。 2) 点开响应,搜索关键字: anonymous 且包含 ```text request: false layout.toolbar.plugins = false customization.plugins = false logo.visible = false ``` 3) 打开任一文档: 不再出现“输入用于协作的名称”弹窗 顶部“插件”选项卡消失 页眉左上角 Logo 不显示(无链接) ## 六、常见问题与排查 ### 修改后又“恢复默认”: 可能只改了非模板文件,重启后由 api.js.tpl 重新生成 可能改了非版本目录;服务端实际使用的是带版本目录 ### 浏览器仍旧显示老配置: 优先返回 .gz/.br,未处理压缩文件导致 浏览器/代理/CDN 缓存未清 ### 个别页面仍有“插件”按钮或弹窗: 该页面在 new DocsAPI.DocEditor(..., config) 显式传参覆盖了默认值
2025年09月29日
2 阅读
0 评论
0 点赞
2025-09-04
【N1和Armbian】十一、在 docker 中使用 mihomo
须知本文默认您已经安装好了 docker 并了解 docker 的一些基本概念如果您是纯命令行环境,本文将默认你会命令行最基本的使用(如创建文件/文件夹、编辑文本等)mihomo 是 clash 的一个分支,也是目前使用最广泛的分支,各平台许多客户端使用的核心均为 mihomo,或者它曾经还有个可能更多人听过的名字叫 mihomo meta。需要说明的是 mihomo 与最原始的 clash 本身都是一个纯命令行程序,这意味着它本身没有图形界面,但本文会讲到如何配置 mihomo 的 webUI,以便日常使用。编写 mihomo 配置文件新建一个空文件夹命名为 mihomo,在其中新建文本文档 config.yaml可参考下方模板来创建您自己的配置文件,模板参考自官方文档,如果你希望了解配置文件的具体规则,同样请参考官方文档。(本文最后有链接)该模板中必须要修改的是第 19、20 行与 25 行,根据实际情况进行填写,修改模板后不含模板中的尖括号。其中节点提供者名称可自由填写,用于程序区分多个订阅;节点名称前缀会在显示节点信息时插入到原始节点名称前,便于自己区分不同订阅的节点。第 1 行为代理端口设置,第 6 行为外部控制端口设置(如使用 webUI 控制 mihomo)如有需要可自行更改。# =================== 基础设置 =================== mixed-port: 7890 allow-lan: true bind-address: '*' mode: rule log-level: warning external-controller: '0.0.0.0:9090' # =================== 连接优化与实验性功能 =================== tfo: true experimental: http2: true # 提升网页/YouTube加载速度 sniff-tls-sni: false # 更兼容,避免部分网站 TLS 握手失败 # =================== Profile 与连接优化 =================== profile: store-selected: true store-fake-ip: true unified-delay: true keep-alive-interval: 15 # 每15秒保活长连接 tcp-concurrent: true global-client-fingerprint: chrome # =================== 嗅探(新版,无警告)=================== sniff: enabled: true include: - tls - http parse-pure-ip: true override-destination: true force-dns-mapping: true skip-domain: - "+.local" - "+.lan" - "localhost" - "+.alipay.com" - "+.tenpay.com" - "mch.weixin.qq.com" # =================== 代理节点提供者 =================== proxy-providers: 自己: type: file path: ./subs-check/output/mihomo.yaml interval: 3600 health-check: enable: true url: "https://www.gstatic.com/generate_204" interval: 300 timeout: 3000 lazy: true method: GET disable-keepalive: true override: additional-prefix: "MY_" IKUUU: url: "https://rze57.no-mad-world.club/link/WM9j6NcfU4Odu20u?clash=3&extend=1" type: http interval: 3600 health-check: enable: true url: "https://www.gstatic.com/generate_204" interval: 300 timeout: 3000 lazy: true method: GET disable-keepalive: true override: additional-prefix: "IKUUU_" # =================== 本地代理 =================== proxies: - name: "🎯 直连" type: direct udp: true - name: "🛑 拒绝" type: reject udp: true # =================== Geo 数据源(使用 github.dpik.top 加速)=================== geodata-mode: true geox-url: geoip: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/geoip.dat" geosite: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/geosite.dat" mmdb: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/country-lite.mmdb" asn: "https://github.dpik.top/MetaCubeX/meta-rules-dat/releases/download/latest/GeoLite2-ASN.mmdb" # =================== DNS 设置 =================== dns: enable: true prefer-h3: true ipv6: false respect-rules: true enhanced-mode: fake-ip fake-ip-range: 198.18.0.1/16 fake-ip-filter: - "+.lan" - "+.local" - "localhost" - "+.market.xiaomi.com" proxy-server-nameserver: - 223.5.5.5 - 119.29.29.29 - https://223.5.5.5/dns-query default-nameserver: - 223.5.5.5 - 119.29.29.29 namesater: - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query fallback: - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query - https://1.1.1.1/dns-query fallback-filter: geoip: true geoip-code: CN ipcidr: - 240.0.0.0/4 - 0.0.0.0/8 domain: - "+.google.com" - "+.gstatic.com" - "+.facebook.com" - "+.twitter.com" - "+.telegram.org" - "+.youtube.com" - "+.netflix.com" - "+.googleusercontent.com" nameserver-policy: "geosite:cn,private": - https://120.53.53.53/dns-query - https://223.5.5.5/dns-query "geosite:geolocation-!cn": - https://cloudflare-dns.com/dns-query - https://dns.google/dns-query # =================== 代理组 (移除AI和奈飞专用组) =================== proxy-groups: - name: "⚡ 超高速节点" type: url-test use: ["自己", "IKUUU"] url: "https://www.gstatic.com/generate_204" interval: 300 tolerance: 100 lazy: true max-failed-times: 3 - name: "🚀 高速节点" type: url-test use: ["自己", "IKUUU"] url: "https://www.gstatic.com/generate_204" interval: 300 tolerance: 50 timeout: 3000 lazy: true - name: "🚀 节点选择" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - "🎯 直连" - name: "🚀 手动切换" type: select include-all: true - name: "📱 电报消息" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - name: "📺 油管视频" type: select proxies: - "⚡ 超高速节点" - "🚀 高速节点" - "🚀 手动切换" - name: "📺 哔哩哔哩" type: select proxies: - "🎯 直连" - "🚀 节点选择" - name: "🇨🇳 国内媒体" type: select proxies: - "🎯 直连" - name: "🐟 漏网之鱼" type: select proxies: - "🚀 节点选择" - "🚀 手动切换" - "🎯 直连" # =================== 规则提供者 (移除 Telegram/YouTube/ProxyGFWlist 的外部文件) =================== rule-providers: LocalAreaNetwork: url: "https://testingcf.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/LocalAreaNetwork.list" path: ./ruleset/LocalAreaNetwork.list behavior: classical interval: 86400 format: text type: http UnBan: url: "https://testingcf.jsdelivr.net/gh/ACL4SSR/ACL4SSR@master/Clash/UnBan.list" path: ./ruleset/UnBan.list behavior: classical interval: 86400 format: text type: http # =================== 规则 =================== rules: - "PROCESS-NAME,subs-check.exe,🎯 直连" - "PROCESS-NAME,subs-check,🎯 直连" - "RULE-SET,LocalAreaNetwork,🎯 直连" - "RULE-SET,UnBan,🎯 直连" - "GEOSITE,private,🎯 直连" - "GEOSITE,telegram,📱 电报消息" - "GEOSITE,youtube,📺 油管视频" - "GEOSITE,gfw,🚀 节点选择" - "GEOSITE,cn,🎯 直连" - "GEOIP,CN,🎯 直连" - "MATCH,🐟 漏网之鱼"安装mihomo和webUI对于 metacubexd 服务:docker run -d \ --name metacubexd \ --restart always \ -p 9097:80 \ ghcr.io/metacubex/metacubexd对于 mihomo 服务:由于mihomo使用了host网络模式、添加了所有的Linux capabilities (cap_add: - ALL),并且挂载了一些特殊的卷(如/dev/net/tun),其docker run命令稍微复杂一些。请确保替换<config.yaml所在目录>为您实际的配置文件目录路径。docker run -d \ --name mihomo \ --restart always \ --pid host \ --ipc host \ --network host \ --cap-add ALL \ -v <config.yaml所在目录>:/root/.config/mihomo \ -v /dev/net/tun:/dev/net/tun \ docker.io/metacubex/mihomo:latest打开 webUI 并开始使用在局域网内任意设备浏览器中输入 设备IP:9097 即可访问 metacubexd 的界面,后端地址填写 http://设备IP:9090 ,密钥留空即可,如图所示,点击添加便可管理 mihomo 的各项配置。若在前文中修改了 webUI 访问端口和外部控制端口,请自行替换为自己设置的端口号。如果你使用 metacubexd 更改了一些设置,那将只会在 mihomo 的本次运行生效,重启 mihomo 会将所有设置重置为你第一步在 config.yaml 中所填写的配置至此已搭建完成,在需要使用网络代理的地方在代理选项内填入 设备IP:7890 即可使用。附上我的配置{cloud title="蓝奏云" type="lz" url="https://daimafengzi.lanzout.com/iDf3835ejsdi" password=""/}{cloud title="百度云" type="bd" url="https://pan.baidu.com/s/1r6gbtIhPDl0vuL45X6hn3w?pwd=2jff" password="2jff"/}{cloud title="123盘" type="default" url="https://www.123912.com/s/0ztiVv-K7Yod" password=""/}{cloud title="天翼云(访问码:to8l)" type="default" url="https://cloud.189.cn/web/share?code=yQriea7NjEby" password=""/}
2025年09月04日
6 阅读
0 评论
0 点赞
2025-01-10
【nodejs】开发笔记----错误登记表
问题一generateDocx.js执行生成时报错【nodejs笔记】文档生成失败: 执行错误: Command failed: java -cp "aspose-words-20.12-jdk17-cracked.jar:." UpdateTableOfContents 1736492468991-6544.docx解决方案 #Linux下的生成语句: const command = `java -cp "${jarPath}:." UpdateTableOfContents ${fileName}`; #Windows下的生成语句: const command = `java -cp "${jarPath};." UpdateTableOfContents ${fileName}`;问题二执行nmp报错,设置淘宝源报错npm : 无法加载文件 D:\JAVA\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。 所在位置 行:1 字符: 1 + npm config set registry https://registry.npmmirror.com + ~~~ + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess解决方案删除D:\JAVA\nodejs\npm.ps1这个文件重新执行!yarn dev无法执行报错内容D:\JAVA\IdeaProjects\design-node-service> yarn dev yarn : 无法将“yarn”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。 所在位置 行:1 字符: 1 + yarn dev + ~~~~ + CategoryInfo : ObjectNotFound: (yarn:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException解决办法通过 npm 安装 Yarnnpm install --global yarn验证安装:yarn --version如果报错D:\JAVA\IdeaProjects\design-node-service> yarn --version yarn : 无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft. com/fwlink/?LinkID=135170 中的 about_Execution_Policies。yarn --version + CategoryInfo : SecurityError: (:) [],PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess ``` 解决办法,删除<code>C:\Users\Administrator\AppData\Roaming\npm\yarn.ps1</code>再执行!执行yarn dev 或者 npm dev报错报错问题D:\JAVA\IdeaProjects\design-node-service> yarn dev yarn run v1.22.22 $ egg-bin dev 'egg-bin' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.解决办法确认项目依赖已安装首先确保你已经安装了所有必要的 npm/yarn 依赖包。在你的项目目录(即 D:\JAVA\IdeaProjects\design-node-service)下运行以下命令来安装所有依赖:yarn install或者npm install尝试全局安装 egg-bin如果问题依旧存在,你可以尝试全局安装 egg-bin,尽管这不是推荐的做法,因为它可能导致版本冲突的问题:yarn global add egg或者使用 npm:npm install -g egg
2025年01月10日
2 阅读
0 评论
0 点赞
2025-01-09
Centos 7.x安装openjdk 11及JAVA 11的特性
1 安装软件包获取方式1.1 openjdk 的官网在官网上可以看到 openjdk11 本身最新版本为:11GA(11+28)点击 Source 按钮(https://hg.openjdk.java.net/jdk/jdk11),可以看到jdk11依赖的代码更新记录点击左侧 tags ,可以看到 所有已发布的openjdk11版本1.2 centos 官网获取rpm包openjdk 11 可以运行在不同类型的操作系统中,在 centos 安装openjdk 11 的话,需要看 openjdk11 在 centos 中基于 openjdk 的官网 优化后且发布的版本。根据所需要操作系统查看对应最新版本,目前最新版本是:{cloud title="centos 7 x86_64" type="default" url="http://mirror.centos.org/centos/7/os/x86_64/Packages/" password=""/}{cloud title="centos 7 arm" type="default" url="http://mirror.centos.org/altarch/7/os/aarch64/Packages/" password=""/}2 安装2.1 查找安装包yum search java-11 # 安装jdk, 同时安装了依赖 java-11-openjdk-headless yum install java-11-openjdk.x86_64 # 安装开发工具 yum install java-11-openjdk-devel2.2 配置安装路径:/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64 vi .bash_profile export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.12.0.7-0.el7_9.x86_64 export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$PATH source .bash_profile2.3 验证查看 java 版本java -versionjshell验证
2025年01月09日
9 阅读
0 评论
0 点赞
1
2
...
5