在 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