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

article/2025/8/4 17:30:23

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

1. 更新软件包索引

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

sudo apt update

2. 安装 curl

执行以下命令安装 curl

sudo apt install -y curl

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

3. 验证安装

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

curl --version

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

额外说明

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

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


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

1. 安装必要的编译工具

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

sudo apt update
sudo apt install -y build-essential git

2. 获取 QuickJS 源码

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

git clone https://github.com/bellard/quickjs.git
cd quickjs

3. 编译并安装 QuickJS

执行编译和安装命令:

make
sudo make install

4. 验证安装结果

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

qjs --version

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

5. 卸载方法(可选)

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

sudo make uninstall

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


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

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

参数说明:

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

后续步骤:

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

cd quickjs-2025-04-26

然后继续编译安装:

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 如下

// 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 IDif (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


http://www.hkcw.cn/article/QmcIvOshaa.shtml

相关文章

数据中台(大数据平台)之数据安全管理

数据安全管理是结合大数据技术和行业特性,数据中台产品应具备数据分类分级、敏感数据智能识别的功能,并结合敏感数据管理、数据脱敏、数据加密等安全管控方式,保障数据安全可用。 1.安全分级分类:数据分级分类是一种将不同数据按…

Linux防火墙:全面解析IPTables的表、链、规则!

iptables 防火墙用于管理包过滤和 NAT 规则。IPTables 随所有 Linux 发行版一起提供。了解如何设置和配置 iptables 将帮助您有效地管理 Linux 防火墙。 iptables 工具用于管理 Linux 防火墙规则。乍一看,iptables 可能看起来很复杂(甚至令人困惑&#…

【火山引擎 大模型批量处理数据教程-详细】

相关的文档 !!先注册账号第一步!! 批量处理文档费用接口对象存储地址提交批量处理网页 1. 准备jsonl数据集 官网网页地址样例,需要根据你自己的数据进行需改 import jsonsystem_prompt """ 你的任…

设计模式——代理设计模式(结构型)

摘要 本文详细介绍了代理设计模式,包括其定义、结构组成、实现方式、适用场景及实战示例。代理设计模式是一种结构型设计模式,通过代理对象控制对目标对象的访问,可增强功能或延迟加载等。文中通过类图、时序图、静态代理、JDK动态代理、CGL…

API网关性能测试与瓶颈定位:微服务世界的守门人之道

在现代微服务架构中,API网关(API Gateway)是所有外部请求进入系统的第一道关口,是服务路由、协议转换、安全认证、流量管控、熔断限流等功能的集中体现。它既是安全屏障,又是性能瓶颈的高发区。 性能测试中&#xff0c…

Vehicle HAL(2)--Vehicle HAL 的启动

目录 1. VehicleService-main 函数分析 2. 构建EmulatedVehicleHal 2.1 EmulatedVehicleHal::EmulatedVehicleHal(xxx) 2.2 EmulatedVehicleHal::initStaticConfig() 2.3 EmulatedVehicleHal::onPropertyValue() 3. 构建VehicleEmulator 4. 构建VehicleHalManager (1)初…

【科研绘图系列】R语言绘制论文组合图形(multiple plots)

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理画图1画图2画图3画图4画图5系统信息介绍 这篇文章详细介绍了如何使用R语言进行科研绘图,特别是绘制论文组合图形(multiple plots)。文章从数…

设计模式——命令设计模式(行为型)

摘要 本文介绍了命令设计模式,这是一种行为型设计模式,用于将请求封装为对象,实现请求的解耦和灵活控制。它包含命令接口、具体命令、接收者、调用者和客户端等角色,优点是解耦请求发送者与接收者,支持命令的排队、记…

用提示词写程序(3),VSCODE+Claude3.5+deepseek开发edge扩展插件V2

edge扩展插件;筛选书签,跳转搜索,设置背景 链接: https://pan.baidu.com/s/1nfnwQXCkePRnRh5ltFyfag?pwd86se 提取码: 86se 导入解压的扩展文件夹: 导入扩展成功: edge扩展插件;筛选书签,跳转搜索,设置背景

一周学会Pandas2之Python数据处理与分析-Pandas2数据分组与聚合

锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili Pandas 的分组与聚合功能是数据分析的核心工具,允许你根据特定条件分割数据,然后对每个子集应…

零基础上手 Cherry Studio:打造专属 AI 助手的第一步

名人说:博观而约取,厚积而薄发。——苏轼《稼说送张琥》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、Cherry Studio是什么?为什么选择它?1.Cherry Studio简介…

API平台(API网关)之API编排

支持WEB可视化的API编排能力,内置基本组件、流程控制、报文转换以及其他类型的组件,通过可视化拖、拉、拽对API进行编排和调度,支持Restful API、WebService、JAVA等多协议转换混合编排和API服务聚合能力,满足复杂业务场景的API支…

初识PS(Photoshop)

初识PS(Photoshop) 1、Photoshop界面 2、常用快捷键

鸿蒙ArkTS | Badge 信息标记组件自学指南

在做 UI 设计时,我们经常会碰到这样一个需求:要在某个图标、按钮或列表项的角落加一个小小的提示,比如红点、新消息数量、状态标签之类的。这时候就轮到 ​​Badge​​ 组件登场了。 如果你想要一个简单优雅、可配置灵活的信息标记功能&…

【C++】cin和cout的性能问题讨论和优化方法

目录 1、背景知识2、ios::sync_with_stdio(false)2.1 **作用**2.2 原理2.3 注意事项 3、cin.tie(0)3.1 作用3.2 原理3.3 注意事项 4、代码演示5、实例操作5.1 创建数据文件5.2 进行代码演示 个人主页<—请点击 C专栏<—请点击 1、背景知识 在 C 中&#xff0c;标准输⼊输…

【数据结构】图的存储(十字链表)

弧节点 tailvex数据域&#xff1a;存储弧尾一端顶点在顺序表中的位置下标&#xff1b;headvex 数据域&#xff1a;存储弧头一端顶点在顺序表中的位置下标&#xff1b;hlink 指针域&#xff1a;指向下一个以当前顶点作为弧头的弧&#xff1b;tlink 指针域&#xff1a;指向下一个…

(二)微服务(grpc/grpc消费者)

文章目录 项目地址一、grpc介绍1.1 项目初始化1. 创建grpc项目2. 项目结构二、Discount grpc创建2.1 实体层1. Coupon实体2.2 Protos1. 创建discount.proto2. 配置proto3. 创建DiscountService4. Program里注册服务2.3 Seed 数据1. 创建表和Seed数据2. 自动migration2.4 更新Do…

机电的焊接技术

焊接技术:高温或高压条件下,使用焊接材料(焊条或焊丝)将两块或两块以上的母材(待焊接的工件)连接 成一个整体的操作方法&#xff61; 2.3.1 焊接设备和焊接材料的分类及选用 1.焊接设备&#xff08;对应焊接方法&#xff09; 2.焊接材料&#xff08;焊条、焊丝、焊剂、焊接气…

Ⅰ.计算机二级选择题(C语言概述)

【注&#xff1a;重点题以及添加目录格式导航&#xff01;&#xff01;&#xff01;】 【重点】&#xff08;第2题&#xff09; 【重点】&#xff08;第8题&#xff09; 【重点】&#xff08;第17题&#xff09; 【重点】&#xff08;第19题&#xff09; 【重点】&#xff08;第…

ck-editor5的研究 (4):初步使用 CKEditor5 的插件功能

前言 在上一篇文章中—— ck-editor5 的研究&#xff08;3&#xff09;&#xff1a;初步使用 CKEditor5 的事件系统和API &#xff0c;我们已经初步了解了 CKEditor5 的工作方式 那么这篇文章&#xff0c;我们将初步使用 CKEditor5 的插件功能&#xff0c;我将会写一个自己的…