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

相关推荐
爱吃生蚝的于勒19 分钟前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森31 分钟前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
文艺理科生Owen41 分钟前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
运维·nginx
期待のcode1 小时前
Redis的主从复制与集群
运维·服务器·redis
翼龙云_cloud1 小时前
腾讯云代理商: Linux 云服务器搭建 FTP 服务指南
linux·服务器·腾讯云
纤纡.1 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
好好学习天天向上~~1 小时前
6_Linux学习总结_自动化构建
linux·学习·自动化
冉佳驹1 小时前
Linux ——— 静态库和动态库的设计与使用
linux·动态库·静态库·fpic
陌上花开缓缓归以2 小时前
linux mtd-utils使用源码分析(ubuntu测试版)
linux·arm开发·ubuntu
wangjialelele2 小时前
Linux下的IO操作以及ext系列文件系统
linux·运维·服务器·c语言·c++·个人开发