Как исправить ошибку - nodemon.ps1 не может быть загружен, потому что в этой системе отключены запускаемые скрипты (без риска для безопасности)?
Ошибка на терминале: nodemon.ps1 не может быть загружен, поскольку в этой системе отключены запускаемые скрипты. Дополнительные сведения см. В разделе about_Execution_Policies по адресу https: /go.microsoft.com/fwlink/? LinkID = 135170.
У меня есть решение, чтобы исправить проблему таким способом
- Откройте Windows PowerShell с запуском от имени администратора
- Выполните эту команду: Set-ExecutionPolicy Unrestricted
Это решает проблему, но в этом случае система показывает предупреждение о риске безопасности. Мой вопрос: есть ли другой способ решить эту проблему без риска для безопасности? Цель - использовать nodemon.
Ответы
Я бы порекомендовал использовать RemoteSigned
вместо Unrestricted
политики и по возможности ограничить политику для текущего пользователя.
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
RemoteSigned : «Политика выполнения по умолчанию для серверов Windows».
В остальном я бы не стал особо беспокоиться об этом, поскольку он не предназначен для использования в качестве механизма безопасности. См. Эту цитату из документов:
«Политика выполнения - это не система безопасности, которая ограничивает действия пользователя. Например, пользователи могут легко обойти политику, введя содержимое сценария в командной строке, когда они не могут запустить сценарий. Вместо этого политика выполнения помогает пользователям установить базовые правил и предотвращает их непреднамеренное нарушение ".
Нет никакого риска для безопасности, связанного с разрешением запускать удаленно подписанные скрипты на вашем локальном компьютере. Это в основном означает, что вы можете выполнять локальные неподписанные сценарии, то есть сценарии, написанные вами, в то время как сценарии из удаленного источника (в данном случае nodemon) должны быть подписаны доверенным лицом.
PS: Если вы используете Windows, вы можете просто перейти в настройки >> обновление и безопасность >> для разработчиков >> установите флажок рядом change execution policy to allow local powershell scripts to run without signing
Для тех, кто не знает, как решить эту ошибку с помощью Windows PowerShell.
Откройте PowerShell (запуск от имени администратора)
Проверьте текущую политику выполнения с помощью этой команды
Get-ExecutionPolicy. Вы должны получить "Ограничено"
Запустите эту команду, чтобы сделать ее "Неограниченной"
Set-ExecutionPolicy Unrestricted
Еще раз проверьте, изменилась ли политика выполнения, выполнив эту команду Get-ExecutionPolicy. Вы должны получить "Unrestricted"
Теперь попробуйте запустить nodemon в вашем проекте nodemon 'filename.js'
Надеюсь, это будет полезно
Эта команда может помочь
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
При использовании npm я рекомендую объединить команду nodemon в scripts
разделе и оставить настройки безопасности как есть.
package.json:
{
"scripts": {
"hmr": "nodemon index.js",
"nodemon": "npm run hmr",
"start": "node index.js"
},
"dependencies": {}
}
Просто выполните, npm run nodemon
что запустит hmr
линию за кулисами.