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

相关推荐
惊起白鸽45025 分钟前
LVS负载均衡
运维·负载均衡·lvs
Sapphire~2 小时前
Linux-07 ubuntu 的 chrome 启动不了
linux·chrome·ubuntu
伤不起bb2 小时前
NoSQL 之 Redis 配置与优化
linux·运维·数据库·redis·nosql
广东数字化转型2 小时前
nginx怎么使用nginx-rtmp-module模块实现直播间功能
linux·运维·nginx
love530love2 小时前
【笔记】在 MSYS2(MINGW64)中正确安装 Rust
运维·开发语言·人工智能·windows·笔记·python·rust
啵啵学习2 小时前
Linux 里 su 和 sudo 命令这两个有什么不一样?
linux·运维·服务器·单片机·ubuntu·centos·嵌入式
半桔3 小时前
【Linux手册】冯诺依曼体系结构
linux·缓存·职场和发展·系统架构
网硕互联的小客服3 小时前
如何利用Elastic Stack(ELK)进行安全日志分析
linux·服务器·网络·安全
数字芯片实验室4 小时前
寄存器模型生成:从手工到自动化
运维·自动化
冰橙子id4 小时前
linux——磁盘和文件系统管理
linux·运维·服务器