#git #shell
Вопрос:
Название подводит итог. Я написал два основных сценария, на которые ссылается наш package.json. Мне нужно изменить разрешения на сценарий локально, чтобы он работал. Однако они должны быть объединены с нашей кодовой базой, и всем потребуется разрешение на выполнение сценария. Я не уверен, как это сделать?
/bin/sh: 1: scripts/extract.sh: Permission denied
Я получаю эту основную ошибку и, очевидно, могу исправить ее с помощью
chmod x scripts/extract.sh
но другим придется сделать то же самое, если только нет способа сделать это так, чтобы никто другой не должен был?
package.json ссылается на эти сценарии следующим образом:
"scripts": { "extract": "scripts/extract.sh", "compile:languages": "scripts/compile-languages.sh",
и я просто бегу yarn compile:languages
, например.
Комментарии:
1. Вы не сказали, как вы запускаете сценарий. Также пожалуйста, удалите метку bash; в вашей проблеме нет bash. В сообщении об ошибке четко указано /bin/sh , а не bash .
2. Хорошо, отредактировано. Дайте мне знать, если я что-то упущу, извините за это.
3. Вам следует добавить тег yarn , потому что ваша проблема, похоже, связана с тем, как настроить yarn для выполнения сценария. Я не знаю пряжи, поэтому не могу много рекомендовать. Если вы не хотите давать исполняемые записи, вам придется заставить yarn работать
sh script/extract.sh
вместоscript/extract.sh
этого . В этом случае требуются только разрешения на чтение.4. Вы провели еще какие-нибудь исследования? Должны быть какие — то другие проекты, которые делают это.
5. Git отслеживает состояние исполняемого файла. Если у вас
git add
есть исполняемая копия, любой, кто проверит эту копию, получит исполняемую копию.