Jak naprawić błąd - nie można załadować pliku nodemon.ps1, ponieważ uruchamianie skryptów jest wyłączone w tym systemie (bez zagrożenia bezpieczeństwa)?

Aug 15 2020

Błąd terminala: nie można załadować pliku nodemon.ps1, ponieważ uruchamianie skryptów jest wyłączone w tym systemie. Aby uzyskać więcej informacji, zobacz about_Execution_Policies pod adresem https: /go.microsoft.com/fwlink/? LinkID = 135170.

Mam rozwiązanie, aby rozwiązać ten problem w ten sposób

  1. Otwórz program Windows PowerShell za pomocą opcji Uruchom jako administrator
  2. Uruchom to polecenie: Set-ExecutionPolicy Unrestricted

To rozwiązuje problem, ale w ten sposób system wyświetla ostrzeżenie o zagrożeniu bezpieczeństwa. Moje pytanie: czy istnieje inny sposób rozwiązania tego problemu bez ryzyka związanego z bezpieczeństwem? Celem jest użycie nodemona.

Odpowiedzi

22 derekbaker783 Aug 15 2020 at 16:56

Zalecam używanie RemoteSignedw przeciwieństwie do Unrestrictedi ograniczenie zasad do bieżącego użytkownika, jeśli to możliwe.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

RemoteSigned : „Domyślna zasada wykonywania dla komputerów z systemem Windows”.



Poza tym nie martwiłbym się tym zbytnio, ponieważ nie ma to być mechanizm bezpieczeństwa. Zobacz ten cytat z dokumentów:

„Zasady wykonywania nie są systemem zabezpieczeń, które ograniczają działania użytkowników. Na przykład użytkownicy mogą łatwo ominąć zasady, wpisując zawartość skryptu w wierszu poleceń, gdy nie mogą uruchomić skryptu. Zamiast tego zasada wykonywania pomaga użytkownikom ustawić podstawowe zasady i zapobiega ich nieumyślnemu naruszeniu ”.

8 web_walkerX Aug 15 2020 at 22:41

Z zezwoleniem na uruchamianie zdalnie podpisanych skryptów na komputerze lokalnym nie wiąże się żadne zagrożenie bezpieczeństwa. Zasadniczo oznacza to, że możesz wykonywać lokalne niepodpisane skrypty, tj. Skrypty napisane przez Ciebie, podczas gdy skrypty ze zdalnego źródła (w tym przypadku nodemon) muszą być podpisane przez zaufany organ.

PS: Jeśli korzystasz z systemu Windows, możesz po prostu przejść do ustawień >> aktualizacja i zabezpieczenia >> dla programistów >> zaznacz pole obok change execution policy to allow local powershell scripts to run without signing

1 stp_ Dec 29 2020 at 13:32

Dla tych, którzy nie wiedzą, jak rozwiązać ten błąd za pomocą programu Windows PowerShell

  1. Otwórz PowerShell (uruchom jako administrator)

  2. Sprawdź bieżącą politykę wykonywania za pomocą tego polecenia

    Get-ExecutionPolicy Powinieneś otrzymać „Restricted”

  3. Uruchom to polecenie, aby uczynić go „nieograniczonym”

    Set-ExecutionPolicy Unrestricted

  4. Sprawdź ponownie, czy zasady wykonywania zmieniły się, uruchamiając to polecenie Get-ExecutionPolicy Powinieneś otrzymać `` nieograniczony ''

  5. Teraz spróbuj uruchomić nodemon na swoim projekcie nodemon 'filename.js'

Mam nadzieję, że to byłoby pomocne

AmanSingh Oct 20 2020 at 20:27

To polecenie może pomóc

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
kmgt Dec 22 2020 at 16:36

Korzystając z npm zalecam mostkowanie komendy nodemon w scriptssekcji i pozostawienie ustawień bezpieczeństwa bez zmian .

package.json:

{
    "scripts": {
        "hmr": "nodemon index.js",
        "nodemon": "npm run hmr",
        "start": "node index.js"
    },
    "dependencies": {}
}

Po prostu wykonaj, npm run nodemonco uruchomi hmrlinię za kulisami.