发呆时为了不让隔壁妹子发现,搞个命令行模拟工具 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ch563
V2EX    Node.js

发呆时为了不让隔壁妹子发现,搞个命令行模拟工具

  •  
  •   ch563 297 天前 3406 次点击
    这是一个创建于 297 天前的主题,其中的信息可能已经有所发展或是发生改变。

    参考 RUST 项目 Genact ,使用 nodejs 搞个命令行模拟工具 fakeact,模拟各种框架的下载安装编译。

    免安装使用:

    npx fakeact 

    全局安装:

    npm i fakeact -g 

    使用:

    fakeact -m composer 

    20 条回复    2024-12-19 22:06:18 +08:00
    usdc
        1
    usdc  
       297 天前   1
    ~ npx fakeact
    npx: 24 安装成功,用时 2.743 秒

    const segmenter = new Intl.Segmenter();
    ^

    TypeError: Intl.Segmenter is not a constructor
    at file:///Users/xuezhiwen/.npm/_npx/79871/lib/node_modules/fakeact/node_modules/string-width/index.js:5:19
    at ModuleJob.run (internal/modules/esm/module_job.js:183:25)
    at async Loader.import (internal/modules/esm/loader.js:178:24)
    at async Object.loadESM (internal/process/esm_loader.js:68:5)
    at async handleMainPromise (internal/modules/run_main.js:59:12)
    pckillers
        2
    pckillers  
       297 天前
    挺好,现在是 genact 用户,但是上次还是一眼被同事看穿了。
    pckillers
        3
    pckillers  
       297 天前
    如果楼主能提供打包好的 docker 镜像就好了。
    lrh3321
        4
    lrh3321  
       297 天前
    Windows 电脑直接用 Loaf 模拟蓝屏,还能顺便骂巨硬一顿
    ch563
        5
    ch563  
    OP
       297 天前
    @channg 这看着像是 node 版本低不兼容,是 node14?
    ch563
        6
    ch563  
    OP
       297 天前
    @pckillers 收到,立刻研究学习打包 docker 镜像
    pckillers
        7
    pckillers  
       297 天前
    @ch563 搓手期待。 有 docker 的话直接
    docker run -it --rm 镜像名
    快速摸鱼了
    DosLee
        8
    DosLee  
       296 天前
    @pckillers #3 没多难吧,非得喂嘴里?

    ```dockerfile
    # 使用官方 Node.js Alpine 镜像(非常小且高效)
    FROM node:alpine

    # 安装 fakeact 包(全局安装)
    RUN npm install -g fakeact

    # 设置容器启动时默认执行 fakeact -m composer
    CMD ["fakeact", "-m", "composer"]

    ```

    ```shell
    docker build -t fakeact:1.0 .
    docker run --rm fakeact:1.0
    ```
    DosLee
        9
    DosLee  
       296 天前
    看了一下原项目和这个项目,这个项目可以自定义执行时间吗?
    ppooqq
        10
    ppooqq  
       296 天前
    我需要运行 8 小时的版本
    mouyase
        11
    mouyase  
       296 天前
    害得我笑了一下
    davin
        12
    davin  
       296 天前
    乖乖,这要是做成电脑屏保,不得了
    1024pb
        13
    1024pb  
       296 天前
    你是真的骚
    luyaolu
        14
    luyaolu  
       296 天前
    @DosLee #8 #
    使用官方 Node.js Alpine 镜像(非常小且高效)
    FROM node:alpine

    ENV MODULES=composer
    # 安装 fakeact 包(全局安装)
    RUN npm install -g fakeact

    # 设置容器启动时默认执行 fakeact -m composer
    CMD ["sh","-c", "fakeact -m $MODULES"]

    shell docker run -e MODULES=npm --rm fakeact:1.0
    简单改了一下 现在可以在运行 docker 时自定义输出了
    DosLee
        15
    DosLee  
       296 天前
    @luyaolu 哦,我运行了一下确实。下面这个是我改的。

    ```dockerfile
    # 使用 Node.js 官方镜像作为底层镜像
    FROM node:alpine

    # 安装 fakeact
    RUN npm i fakeact -g

    # 设定容器启动时执行的命令
    ENTRYPOINT ["fakeact"]
    ```

    ```shell

    # 编译镜像
    docker build -t fakeact:1.0 .
    # 启动一次性镜像,打印 weblog
    docker run --rm fakeact:1.0 -m weblog
    # 启动一次性镜像,打印 gcc 编译
    docker run --rm fakeact:1.0 -m cc

    ```

    建议还是用 docker pull svenstaro/genact:latest op 参考的那个,这个可以定义打印时间,默认 2 小时 10 分钟。op 这个我没发现从哪设置打印时间。
    doracoinC
        16
    doracoinC  
       296 天前
    @ch563 #5 同用了 node14 ,确实是版本问题,切换到 node16 就正常运行了
    ch563
        17
    ch563  
    OP
       296 天前
    @ppooqq 已增加-t 参数,传 0 ,无限循环
    pckillers
        18
    pckillers  
       296 天前
    @DosLee @luyaolu 感谢 Dockerfile 提供参考。
    ch563
        19
    ch563  
    OP
       295 天前
    @pckillers 已上传 docker 镜像,直接运行即可

    docker run -it --rm ch563/fakeact -m composer
    pckillers
        20
    pckillers  
       295 天前
    赞 删了自 build 版 开始用 OP 维护的版本 @ch563
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     901 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 20:05 PVG 04:05 LAX 13:05 JFK 16:05
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86