Deno run - Uncaught PermissionDenied: сетевой доступ к «0.0.0.0:8000», запустить снова с флагом --allow-read - PullRequest
1 голос
/ 16 июня 2020

Получение сообщения об ошибке, когда я пытаюсь запустить свою первую программу с помощью

deno run server.ts

Ошибка: Uncaught PermissionDenied: сетевой доступ к «0.0.0.0:8000», запустите снова с - флаг разрешения чтения

Ответы [ 4 ]

3 голосов
/ 16 июня 2020

Deno по умолчанию безопасен. Таким образом, если вы специально не включите его, у модуля описания нет, например, доступа к файлам, сети или среде. Доступ к чувствительным к безопасности областям или функциям требует использования разрешений, которые должны быть предоставлены процессу обозначения в командной строке.

Если вы обращаетесь к net, вам необходимо передать флаг --allow-net во время работы сервера и если в вашем приложении есть функции для чтения и записи файла, вам необходимо передать --allow-read и --allow-write флаг.

так,

обозначает запуск --allow- net - сервер разрешить чтение

0 голосов
/ 09 июля 2020

Deno - это среда выполнения, которая по умолчанию является безопасной. Это означает, что вам необходимо явно предоставить разрешение на запуск привилегированных действий. Здесь вы пытаетесь получить доступ к сети, вам нужно передать флаг --allow-net с помощью команды запуска.

deno run --allow-net server.ts

Чтобы сделать этот процесс ввода нескольких флагов каждый раз, вы можете создать сценарий и запускать этот сценарий каждые время.

Как будто я создаю файл run.sh на уровне проекта root, содержащий запуск команды со всеми флагами, необходимыми для запуска сервера.

content if run.sh

deno run --allow-net --allow-write --allow-read --allow-plugin app.ts

затем я запускаю эту команду в терминале, чтобы запустить сервер

sh run.sh
0 голосов
/ 07 июля 2020

Вы должны дать разрешение (-а), и вы можете сделать это, запустив следующее:

deno run --allow-net server.ts 

Или

deno run --allow-read server.ts

Или

deno run --allow-net --allow-read server.ts
0 голосов
/ 16 июня 2020

Затем я запускаю ту же команду с добавленным флагом «--allow-read», как показано ниже

deno run --allow-read flag server.ts 

, и ошибка исчезла. Поскольку я читал файл, поскольку программа работает в отдельной песочнице, по умолчанию у нее не будет доступа к файловой системе. нам нужно согласовать / предоставить доступ на чтение файлов по флажкам безопасности при запуске скриптов.

также все флаги безопасности должны быть написаны сразу после следующего формата

$ deno run {any security flag}  {script file name/fullpath } 
...