• Node.js|全局安装的模块无法正常使用


    Node.js全局安装的模块无法正常使用

    问题阐述

    全局安装模块完成之后,无法cmd中使用全局模块,如nodemon,报错如下:

    nodemon : 无法加载文件 D:\Program Files\nodejs\node_global\nodemon.ps1,因为在此系统上 禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。

    • nodemon --help
    •   + CategoryInfo          : SecurityError: (:) [],PSSecurityException
        + FullyQualifiedErrorId : UnauthorizedAccess 
      
      • 1
      • 2

    禁止运行脚本!在这里插入图片描述
    这是由于当前用户没有权限加载这些脚本文件,因为在此系统上禁止运行脚本!
    也就是说我们当前用户没有权限,测试一下:
    打开 Powershell ,输入

    get-ExecutionPolicy
    
    • 1

    输出:

    Restricted
    
    • 1

    Restricted 是受限制的,表示状态是禁止的

    解决方案

    1️⃣ 把需要用的全局模块的 bin 目录一个一个添加到环境变量的 Path 中,最麻烦,不实用!
    2️⃣ 用管理员权限打开 Powershell 再操作,太麻烦,不采用!

    3️⃣ 修改 ExecutionPolicy ,提升权限 ✅
    首先,如果这么操作可能会报错

    set-ExecutionPolicy RemoteSigned 
    
    • 1

    set-ExecutionPolicy : 对注册表项"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"的访问被拒绝。 要更改默认(LocalMachine)作用域的执行策略,请使用"以管理员身份运行"选项启动 Windows PowerShell。要更改当前用户的执行策略,请运行 “Set-ExecutionPolicy -Scope CurrentUser”。

    在这里插入图片描述
    这样是试图修改全部用户的 ExecutionPolicy
    同样还是权限问题,你当前普通用户不可能修改全部用户的 ExecutionPolicy ,权限不够!
    同样的,要么以管理员身份打开 Powershell 执行此命令,这样就修改了全部用户的 ExecutionPolicy ,还是不推荐!
    🍉退而求其次,只修改当前用户的 ExecutionPolicy √
    输入

     Set-ExecutionPolicy -Scope CurrentUser
    
    • 1

    再输入

    RemoteSigned
    
    • 1

    选择 "Y"即可!

    检查一下,再次使用 get-ExecutionPolicy 查看权限,可以看到变为了 RemoteSigned

    在这里插入图片描述

    重启,即可解决问题!

  • 相关阅读:
    java计算机毕业设计汉服服装租赁系统源码+mysql数据库+系统+lw文档+部署
    SHAP 和 LIME 解释模型
    第 4 章 寻找稳固的 Micro SaaS 利基市场
    5.6如何寻找最长回文子串
    Redis
    画程序流程图
    TIA博途_Profinet通信故障诊断及常见错误解决方法汇总
    远程重启电脑
    前端进击笔记第十八节 实战:三天实现管理端系统
    Docker Registry
  • 原文地址:https://blog.csdn.net/Syc1102g/article/details/126343161