Извинения, если это не соответствующее место для этого вопроса
Я выполняю VPS Amazon Lightsail с изображением Ubuntu 14.04 и пытаюсь установить различные пакеты через npm
. Одна конкретная установка пакета перестала работать, потому что она не может определить местоположение файла в
/usr/lib/x86_64-linux-gnu/pkgconfig/cairo.pc
Когда я проверяю каталог, файл определенно существует и имеет ожидаемое содержание и соответствующие полномочия
user@hostname:/usr/lib/x86_64-linux-gnu$ stat -c "%a %n" ./pkgconfig/cairo.pc
644 ./pkgconfig/cairo.pc
user@hostname:/usr/lib/x86_64-linux-gnu$ locate cairo.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/cairo.pc
/usr/lib/x86_64-linux-gnu/pkgconfig/pangocairo.pc
user@hostname:/usr/lib/x86_64-linux-gnu$ cat ./pkgconfig/cairo.pc
prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib/x86_64-linux-gnu
...
//etc. - excluded for brevity
Но интересно, когда я пытаюсь определить местоположение файла через find
это указывает, что файл не может быть найден от за пределами его каталога, даже при том, что это перечислено в выводе (сокращенный для краткости)
user@hostname:/usr/lib/x86_64-linux-gnu/pkgconfig$ find cairo.pc
cairo.pc
user@hostname:/usr/lib/x86_64-linux-gnu/pkgconfig$ cd ..
user@hostname:/usr/lib/x86_64-linux-gnu$ find ./pkgconfig cairo.pc
./pkgconfig
./pkgconfig/gio-2.0.pc
...
./pkgconfig/gmodule-2.0.pc
./pkgconfig/cairo-ft.pc
./pkgconfig/cairo.pc
./pkgconfig/xau.pc
./pkgconfig/cairo-svg.pc
./pkgconfig/gmodule-export-2.0.pc
...
find: `cairo.pc': No such file or directory
Это приводит меня полагать, что существует некоторая причуда с файлом в файловой системе или полномочиях, которые препятствуют тому, чтобы он был найден (как плохой кэш или что-то), в противоположность ошибке с пакетом/диспетчером пакетов, но я честно понятия не имею, где начать как новичок Linux
Любые идеи значительно ценились бы
Ваше выполнение той команды неправильный путь, это:
find ./pkgconfig cairo.pc
должен был быть:
find ./pkgconfig -name cairo.pc
В Вашем случае Ваше выяснение find
для поиска в двух путях ./pkgconfig
и cairo.pc
(который является файлом не каталог). Если Вы сделали:
find ./pkgconfig ./another_folder -name cairo.pc
Это нашло бы cairo.pc
в тех двух местах, но в Вашем случае Ваш поиск во всего pkgconfig
папка так find ./pkgconfig -name cairo.pc
является правильной командой для использования.
см. man find
для того, как использовать команду находки и здесь для большего количества объяснений.