mv: cannot stat 'pencil.desktop': 没有那个文件或目录

mv: cannot stat 'pencil.desktop': No such file or directory

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

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

低于警告:

emanuele@pc:~/Downloads$ sudo dpkg -i pencil_3.1.0.ga_amd64.deb && sudo apt install -f (Reading database ... 257381 files and directories currently installed.) Preparing to unpack pencil_3.1.0.ga_amd64.deb ... Unpacking pencil (3.1.0.ga) over (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 Reading package lists... Done Building dependency tree Reading state information... Done 0 upgraded, 0 newly installed, 0 to remove and 529 not upgraded.

而且我不确定为什么没有安装。 我咨询了this source and also this and both sources said that there is a missing file in the folder indicated in the warning. There seems to be a missing icon or .png. But I downloaded the .deb from the official documentation。只是

 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

如果您确定要使用此软件,那么其他用户似乎是从源文件构建的。 (这通常更容易出错,但对于软件开发人员来说非常标准)。如果您有更多问题,或者计划从源代码构建,请告诉我们。

我在同一个版本上遇到了同样的问题。当我尝试安装时:

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

它给了我同样的错误,但后来我用 -f 选项卸载了它

apt-get remove -f pencil

然后,又是

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

我就是这样做的,而且奏效了

PD: 我要指出的是,如果安装后无法启动,您可以尝试使用 gnome-system-monitor 或 htop all pencil processes 和 kill/terminate 进行搜索。我也是这样。

我在 pencil_3.1.0.ga_amd64.deb 文件中遇到了同样的问题。当我运行以下两行作为sudo时,我就有可能安装成功了。第一行用于在安装损坏的情况下删除错误安装的文件(这可能会失败,无论如何尝试 运行 第二行),第二行用于安装和修复损坏的依赖项。

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