whoru

学习、分享、交流、沉淀

SDKMAN!Software Development Kit Manager)是一个用于管理开发工具套件(SDK)的开源工具。它允许开发人员在 Unix 系统(如 macOS 和 Linux)上方便地安装、管理和切换多个 SDK 版本。

注:Windows 系统需要借助 WSL 或 Git Bash ,详见:https://sdkman.io/install#windows-installation

同时 SDKMAN 也可以管理其它开发工具如 Maven、Gradle 和 Scala等,以及在多个版本之间轻松切换。

本文主要以管理 jdk 为例进行说明。

安装

1
2
3
4
5
6
7
8
9
10
11
# 默认安装 ~/.sdkman
curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"
sdk version

# 安装到指定位置
export SDKMAN_DIR="/usr/local/sdkman" && curl -s "https://get.sdkman.io" | bash

# 对于在CI(持续集成)环境中安装,若不适合修改shell配置,则在下载安装程序时添加参数rcupdate=false
# 更多介绍,参照:https://sdkman.io/install/#ci-mode
curl -s "https://get.sdkman.io?rcupdate=false" | bash

查看本机当前可用的版本

执行命令 sdk list java 可以查询适用于当前系统的发行版,以及已安装和当前在用的版本。

各发行版举例说明:

提供商标识 版本后缀 完整版本标识 提供商说明
Corretto amzn 17.0.15-amzn 亚马逊发布的 Corretto OpenJDK 构建版本
GraalVM CE graalce 17.0.9-graalce 社区版 GraalVM,支持 AOT 编译和运行时优化
GraalVM Oracle graal 17.0.12-graal Oracle 提供的 GraalVM 版本
JetBrains jbr 17.0.14-jbr JetBrains 提供的定制 JDK,适配 IntelliJ 平台
Liberica librca 17.0.15-librca BellSoft 提供的全平台 JDK 构建
Microsoft ms 17.0.15-ms 微软发布的 OpenJDK,兼容 Azure 环境
Oracle oracle 17.0.12-oracle Oracle 官方 LTS 支持的 JDK 版本
SapMachine sapmchn 17.0.15-sapmchn SAP 发布的 OpenJDK 构建版本
Semeru sem 17.0.15-sem IBM 提供的基于 OpenJ9 的 JDK 构建
Temurin tem 17.0.15-tem Eclipse Adoptium 项目的主力发行版
Tencent kona 17.0.15-kona 腾讯维护的 KonaJDK,优化云和大数据场景
Zulu zulu 17.0.15-zulu Azul Systems 提供的 OpenJDK 构建
阅读全文 »

修改 /etc/docker/daemon.json 文件,添加如下镜像源:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://atomhub.openatom.cn",
"https://dockerpull.com",
"https://docker.1panel.dev",
"https://docker.fxxk.dedyn.io",
"https://docker.xn--6oq72ry9d5zx.cn",
"https://docker.zhai.cm",
"https://a.ussh.net",
"https://jf4r7fsl.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io",
"https://register.liberx.info",
"https://docker.anyhub.us.kg",
"https://dockerhub.jobcher.com",
"https://dockerhub.icu",
"https://dockerhub.awsl9527.cn"
]
}

或直接使用下面的脚本文件:

  1. 创建文件 replace.sh;
  2. 添加可执行权限 chmod +x replace.sh
  3. 执行 sudo sh replace.sh
阅读全文 »

本文适用于 JetBrains 系软件,包含通用及单个软件的设置、使用技巧等,主要是在工作使用过程中遇到的问题及解决方式笔记。

1. 设置

1.1. 通用设置

关闭自动保存

菜单:Appearance & Behavior > System Settings > Synchronization

取消勾选:

  • Synchronize files on frame or editor tab activation
  • Save files on frame deactiation
  • Use "safe write"(save changes to a temporary file first)
打开修改文件未保存标识

菜单:Editor > General > Editor Tabs > Appearance

勾选:

  • Mark modified (*)
阅读全文 »

本文主要介绍如何使用 nvm 对 Node 的版本进行管理,当然你也可以选择另一个工具 n

安装或升级(参见这里

1
2
3
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# 或
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

脚本的作用是将 nvm 仓库源码克隆到 ~/.nvm 下面,之后将环境变量添加到配置文件中,如:~/.bash_profile~/.zshrc~/.profile,或 ~/.bashrc

所以会用到 git 命令,如果没有 Git,请先安装。

阅读全文 »