WSL 安装 Debian 12 后,Linux 如何安装 curl , quickjs ?

在 WSL 的 Debian 12 系统中安装 curl 非常简单,你可以直接使用 APT 包管理器从官方仓库安装。以下是详细步骤:

1. 更新软件包索引

首先确保系统的包索引是最新的:

bash 复制代码
sudo apt update

2. 安装 curl

执行以下命令安装 curl

bash 复制代码
sudo apt install -y curl

参数 -y 用于自动确认安装,无需手动输入 yes

3. 验证安装

安装完成后,通过以下命令检查 curl 是否正确安装并查看版本:

$ which curl

/usr/bin/curl

bash 复制代码
curl --version

如果成功输出版本信息(例如 curl 8.4.0),则表示安装成功。

额外说明

  • curl 是一个常用的命令行工具,用于通过各种协议(如 HTTP、HTTPS、FTP 等)传输数据
  • 在 Debian 12 中,curl 包已包含 SSL/TLS 支持(基于 OpenSSL 或 GnuTLS)
  • 如果需要卸载 curl,可以使用命令:sudo apt remove curl

现在你可以使用 curl 进行网络请求、下载文件等操作了!


在 WSL 中的 Debian 12 系统上安装 QuickJS 可以通过源码编译的方式完成。以下是详细的安装步骤:

1. 安装必要的编译工具

首先需要安装编译 QuickJS 所需的工具链:

bash 复制代码
sudo apt update
sudo apt install -y build-essential git

2. 获取 QuickJS 源码

从 GitHub 仓库克隆 QuickJS 的最新源码:

bash 复制代码
git clone https://github.com/bellard/quickjs.git
cd quickjs

3. 编译并安装 QuickJS

执行编译和安装命令:

bash 复制代码
make
sudo make install

4. 验证安装结果

安装完成后,可以通过以下命令验证 QuickJS 是否正确安装:

bash 复制代码
qjs --version

如果成功输出版本信息,则表示安装成功。

5. 卸载方法(可选)

如果需要卸载 QuickJS,可以在源码目录下执行:

bash 复制代码
sudo make uninstall

通过以上步骤,你可以在 WSL 的 Debian 12 系统中成功安装 QuickJS 环境。


要解压 quickjs-2025-04-26.tar.xz 文件,你可以使用以下命令:

bash 复制代码
tar -xf quickjs-2025-04-26.tar.xz

参数说明:

  • -x:解包(extract)文件
  • -f:指定要操作的文件名(file)
  • -J:使用 xz 格式解压(如果 tar 版本较新,-xf 可自动识别 xz 格式,无需 -J

后续步骤:

解压后,进入解压生成的目录:

bash 复制代码
cd quickjs-2025-04-26

然后继续编译安装:

bash 复制代码
make
sudo make install

这样就完成了 QuickJS 的编译安装过程。


我的实际干法如下

bellard.org 下载 quickjs-2025-04-26.tar.xz 到 D:\Tcc

df -h

cd /mnt/d/Tcc

dir

cp quickjs-2025-04-26.tar.xz ~/

cd ~

dir

tar -xf quickjs-2025-04-26.tar.xz

ls

cd quickjs-2025-04-26

make

sudo make install

复制代码
mkdir -p "/usr/local/bin"
strip qjs qjsc
install -m755 qjs qjsc "/usr/local/bin"
mkdir -p "/usr/local/lib/quickjs"
install -m644 libquickjs.a "/usr/local/lib/quickjs"
mkdir -p "/usr/local/include/quickjs"
install -m644 quickjs.h quickjs-libc.h "/usr/local/include/quickjs"

$ which qjs qjsc

/usr/local/bin/qjs

/usr/local/bin/qjsc

编写 fetchProtein.js 如下

javascript 复制代码
// fetchProtein.js
import { urlGet } from 'std';

async function fetchProteinData(uniprotId) {
    try {
        console.log('开始请求蛋白质数据,Uniprot ID:', uniprotId);
        const response = await urlGet(`https://www.ebi.ac.uk/proteins/api/proteins/${uniprotId}`);
        console.log('请求完成,response:', response.length);
        if (!response) {
            throw new Error('请求返回 null');
        }
        /*
        if (!response.ok) {
            throw new Error(`HTTP错误,状态码: ${response.status}`);
        }*/
        const data = JSON.parse(response);
        return data;
    } catch (error) {
        console.log('获取蛋白质数据时出错:', error);
        return null;
    }
}

// 示例使用
async function getProteinInfo() {
    const protein = await fetchProteinData('P01308'); // 胰岛素的Uniprot ID
    if (protein) {
        console.log(`蛋白质名称: ${protein.protein.recommendedName.fullName.value}`);
        console.log(`基因名称: ${protein.gene[0].name.value}`);
    }
}

getProteinInfo();

运行

$ qjs fetchProtein.js

开始请求蛋白质数据,Uniprot ID: P01308

请求完成,response: 132539

蛋白质名称: Insulin

基因名称: INS

相关推荐
chlk12310 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑11 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件11 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
碳基沙盒12 小时前
OpenClaw 多 Agent 配置实战指南
运维
深紫色的三北六号21 小时前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI1 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing2 天前
WSL+Cpp开发环境配置
linux
蝎子莱莱爱打怪3 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes