У меня есть package.json по адресу:
/home/user/dev/project/package.json
Если я перейду в это место:
cd /home/user/dev/project
Затем выполните команду:
npm run compile
Работает и ошибок нет.
Однако, если я попытаюсь запустить команду, подобную этой
/home/user/dev/project/ npm run compile
Я получаю сообщение:
zsh: permission denied: /home/user/dev/project/
Почему это происходит? Я не изменил пользователя, под которым я вошел в систему.
Первое слово команды — это имя запускаемой программы. Каталог не является исполняемой программой, поэтому вы получаете эту ошибку.
Если вы хотите сослаться на файл в другом каталоге, укажите имя каталога в имени файла:
npm run compile /home/user/dev/project
Благодарю вас! Но небольшое исправление, в моем случае команда будет выглядеть так: npm run compile /home/user/dev/project Поскольку компиляция ссылается на скрипт внутри package.json.
Извините, я был сбит с толку и подумал, что compile
— это имя файла для запуска.
Другое дело, если я запускаю команду как npm run compile /home/user/dev/project
она работает, но у меня ошибка с самой компиляцией: Could not resolve the path '/home/user/dev/project' with the extension '.ts', 'tsx'...
Я не знаю, почему это происходит, но если я запускаю команду как: npm run compile --prefix /home/user/dev/project
Ошибку не выдает. Так что я бы использовал его вместо этого.
Кажется, это больше о том, как правильно использовать npm
.
Потому что
/home/user...
— это папка, и вы пытаетесь запустить папку, а это невозможно. См. stackoverflow.com/questions/36172442/…, как это сделать правильно.