Я написал модуль CLI, wikidata-cli, который для определенной команды (wd props
) кэширует результаты как файлы в каталоге модуля: node_modules/wikidata-cli/props/some-file
. Он работает в моей локальной установке, где узлы и npm были установлены в моей домашней папке (с использованием nvm), но другие люди, установившие узел/npm из своего диспетчера пакетов, возможно, с правами sudo, столкнулись с issues: после установки модуль теряет разрешение чтобы изменить каталог модуля, и они получают ошибки вида EACCES: permission denied, open '/usr/lib/node_modules/wikidata-cli/props/de.json'
где модуль должен записывать файлы?
Я попытался изменить разрешение доступа во время сценария постустановочных - "postinstall": "mkdir -p props && chown -R 666 props"
- но пришлось revert он блокирует любую установку с ошибкой operation forbidden
.
Любой ключ к этому виду файлов должен быть написан кросс-платформенным способом?
спасибо! Я закончил писать в '.cache/wikidata-cli' [commit] (https://github.com/maxlath/wikidata-cli/commit/72fefbef77f838fee590cbb81a04cf7957bc0214). Я использовал 'fs.access' вместо' fs.exists', поскольку [этот последний устарел] (https://nodejs.org/api/fs.html#fs_fs_exists_path_callback) – maxlath