我想用swipl+bash+node.js构建一个应用程序。
我认为我想使用Docker (以避免路径名问题)。
试图使用简单的脚本获得安装swipl失败(在交互式输入阶段(地理位置)):
Dockerfile:
FROM ubuntu:latest
RUN apt-get update && \
printf 'Y\n2\n' | apt-get install swi-prolog
RUN export PATH=/root/.local/bin:/usr/local/bin:/root/.local/bin:$PATH
COPY hello.pl ./
ENTRYPOINT /usr/local/bin/swipl -g 'consult("hello.pl").' -g 'hello.' -g 'halt.'hello.pl
hello:-
format("Hello from SWIPL",[]).发布于 2021-11-11 17:12:27
是的,大卫·梅泽的建议很有帮助。
作为记录,已完成的版本如下:
Dockerfile
FROM ubuntu:latest
## for apt to be noninteractive
ENV DEBIAN_FRONTEND noninteractive
ENV DEBCONF_NONINTERACTIVE_SEEN true
## preseed tzdata, update package index, upgrade packages and install needed software
RUN echo "tzdata tzdata/Areas select America" > /tmp/preseed.txt ; \
echo "tzdata tzdata/Zones/America select Toronto" >> /tmp/preseed.txt; \
debconf-set-selections /tmp/preseed.txt && \
apt-get update && \
apt-get install -y tzdata
RUN apt-get update && \
apt-get install -y swi-prolog
RUN export PATH=/root/.local/bin:/usr/local/bin:/root/.local/bin:$PATH
COPY hello.pl ./
ENTRYPOINT swipl -g 'consult("hello.pl").' -g 'hello.' -g 'halt.'
# docker build . --tag hellofromswipl
# docker run hellofromswiplhello.pl
get_time(T),
format_time(user_output,'Hello from SWIPL %a, %d %b %Y %T GMT', T).https://stackoverflow.com/questions/69931001
复制相似问题