reflex 是一个使用纯Python构建全栈web应用的库,但是需要使用node,所以你懂的。
https://gitee.com/mirrors/Pynecone/tree/main/docs/zh/zh_cn
安装reflex对于Linux系统,可能会比较顺利,但是对于FreeBSD系统,在安装时会比较慢,因为有些库需要编译安装,比较费时间。
安装
安装reflex
pip3 install reflex
对于FreeBSD,有些库编译安装很慢,需要在python3.11环境下,使用pkg安装,如:
pkg install py311-watchfiles
安装工具
pip安装好之后,还需要unzip和curl
安装fnm
Ubuntu下使用apt install来安装cargo
apt install cargo
安装fnm
然后cargo install fnm
安装 fnm,需要一会儿时间
cargo install fnm
安装之前可以先设置cargo的加速镜像:
在.cargo目录下创建config文件,文件内容:
[source.crates-io]
replace-with = 'mirror'
[source.mirror]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
创建reflex项目
写个小项目,创建app1目录,在目录里执行eflex init
skywalk@ubjail1:~$ mkdir app1
skywalk@ubjail1:~$ cd app1
skywalk@ubjail1:~/app1$ reflex init
项目创建好后,运行即可
reflex run
调试
reflex init 报错curl: command not found
────────────────────────────── Initializing app1 ───────────────────────────────
Installing https://bun.sh/install failed with exit code 1
/tmp/tmp29talh0o: line 134: curl: command not found
error: Failed to download bun from
"https://github.com/oven-sh/bun/releases/download/bun-v1.1.10/bun-linux-x64-base
line.zip"
Run with --loglevel debug for the full log.
An error occurred while downloading fnm package: _ssl.c:990: The handshake
安装curl
报错:An error occurred while downloading fnm package: timed out
手工安装fnm
cargo install fnm
cargo安装fnm报错
root@ubjail1:~# cargo install fnm
Updating crates.io index
error: failed to download from `https://static.crates.io/crates/fnm/1.37.1/download\`
Caused by:
[60] SSL peer certificate or SSH remote key was not OK (server certificate verification failed. CAfile: none CRLfile: none)
后来第二天再install就成功了
当然cargo还可以添加镜像,参考初识Cargo-Rust的包管理器_cargo,rust包管理器-CSDN博客
cargo的镜像
在.cargo目录下创建config文件,文件内容:
[source.crates-io]
replace-with = 'mirror'
[source.mirror]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
reflex初始化报错
reflex init
──────────────────────── Initializing app1 ────────────────────────
ELF binary type "0" not known.
在Jail里碰到过好几次这样的问题。
在宿主机FreeBSD里安装linux模块试试
还是报错。。。。
这个问题一直都没有解决。
先不用jail了,用bhyve 虚拟子系统试试。