Linux Тайна: как запуск модуля узла (Gatsby) приводит к ошибке .steampath? - PullRequest
3 голосов
/ 20 июня 2020

Это странный вопрос. Я конвертирую существующий сайт в Gatsby (пакет Node, который я установил с помощью npm i -g gatsby-cli), и когда я запускаю gatsby develop, я получаю сообщение об ошибке:

Ошибка: ENOENT: нет такого файла или каталог, stat '/home/me/.steampath'

Теперь предыстория здесь состоит в том, что на Linux Steam намеренно устанавливает плохой символ c ссылку под названием .steampath по какой-то глупой причине. Но я не могу понять, почему / как запуск специального приложения c Node (Gatsby) может привести к этой ошибке, которая не имеет ничего общего с моим проектом или Gatsby ... при запуске других приложений Node - нет.

Я сделал grep через каталог моего проекта: steam не отображается ни в одном файле. Точно так же я grepped свою среду (env | grep steam), и нет переменной среды, указывающей на этот файл.

Итак, кто-нибудь может ответить: почему запуск Gatsby вызывает ошибку в совершенно несвязанном символе c ссылка, находящаяся снаружи проект в моей домашней папке?

Я полагаю, что Гэтсби должен запускать какую-то системную команду , но я даже не могу представить, что он может запустить, чтобы сканировать мой домашний каталог и жаловаться о неработающих символах c ссылок.

PS Эта ошибка возникает в конце, после других ошибок, поэтому не похоже, что она вызывает сбой gatsby develop, а сообщает об ошибке в конце .

PPS Удаление плохой символической ссылки действительно исправляет некоторые вещи (хотя я не знаю, что подумает Steam) ... но затем я получаю еще одну ошибку о другой неработающей символической ссылке в моей домашней папке (Я не могу винить Steam за это). Итак, что-то, что делает Node / Gatsby, приводит к сканированию моего домашнего каталога и жалобе на любые обнаруженные сломанные символические ссылки!

После удаления всех сломанных символических ссылок Gatsby работает нормально. Так странно!

1 Ответ

1 голос
/ 27 июня 2020

Ответ на ваш вопрос можно найти здесь

У меня тоже была эта проблема сегодня, она всплыла, когда один из моих JS импортированных файлов не был установлен (redux) . Добавление зависимости устранило проблему. Когда зависимость отсутствовала в каталоге node_modules, что-то (я не копал достаточно далеко) будет определять весь мой домашний каталог. При наличии зависимости каталог ~ был оставлен в покое.

Это связано с алгоритмом разрешения узлов, и хотя дополнительная информация не приводится, я считаю, что это может быть связано с этим

Я тоже сильно забеспокоился, когда впервые увидел эту ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...