我一直在尝试在Ubuntu-18.04上安装Pencil Project来设计用户界面,然后再实现它。
我一直遇到以下安装问题,但不确定为什么。下载后我只

sudo apt install ./pencil_3.1.0.ga_amd64.deb && sudo apt install -f

在警告下方:



而且我不确定为什么没有安装。
我咨询了this sourcethis,两个消息来源都说警告中指出的文件夹中缺少文件。似乎缺少图标或.png。但是我从official documentation下载了.deb。和简单地
 sudo apt install ./pencil_3.1.0.ga_amd64.deb && sudo apt install -f

最佳答案

这很干净,让我告诉您我在想什么

Unpacking pencil (3.1.0.ga) over (3.1.0.ga)

您已安装3.1.0.ga,现在正在重新安装(重新安装软件包应该没问题)
rm: cannot remove '/usr/share/applications/pencil.desktop': No such file or directory
rm: cannot remove '/usr/share/applications/pencil.png No such file or directory

它正在尝试从首次安装中自行卸载它。 (第一次安装并未将这些文件放在此处,因此找不到卸载文件)
Setting up pencil (3.1.0.ga)

正在开始安装
mv: cannot stat 'pencil.desktop': No such file or directory
mv: cannot stat 'pencil.png': No such file or directory
chmod: cannot access '/usr/share/applications/pencil.*': No such file or directory

这三行是您问题的根源。我下载了程序包,并且文件全部存在,但是我认为这是路径问题。

因此,让我们看一下无法正确移动文件的脚本。它称为postinst,它是一个Shell脚本
#!/bin/sh

NAME=pencil
VERSION=3.1.0.ga
EXECUTABLE=pencil

mkdir -p /opt/$NAME-$VERSION

APP_PATH=/usr/share/applications

cd /opt/$NAME-$VERSION
mv $NAME.desktop $APP_PATH/
mv $NAME.png $APP_PATH/
chmod 644 /usr/share/applications/$EXECUTABLE.*

cd /usr/bin

if [ -L $EXECUTABLE ]; then
    rm $EXECUTABLE
fi

ln -s /opt/$NAME-$VERSION/$EXECUTABLE $EXECUTABLE

#cd /opt/$NAME-$VERSION

显然两个mv(移动文件)不起作用,而chmod(更改权限)在那里。

可能是(而且我不确定),但是我认为该脚本运行之前的步骤是将文件移至/opt/$ NAME- $ VERSION/(opt/pencil/3.1.0.ga/),并针对我不明白的原因并没有发生。

该项目的所有者知道安装程序(https://github.com/evolus/pencil/issues/520)存在一些问题,如果您是Programming/linux的新手,它可能不是最稳定的工具。

该用户有类似的问题
https://askubuntu.com/questions/1172077/pencil-does-not-install-on-ubuntu-18-04

如果确定要使用此软件,则看起来其他用户似乎正在从源文件进行构建。 (这通常更容易出错,但是对于软件开发人员来说非常标准)。让我们知道您是否还有其他问题,或者计划从源头构建。

10-07 19:45