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 </font>
    

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

get-ExecutionPolicy

输出:

Restricted

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

解决方案

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

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

set-ExecutionPolicy RemoteSigned 

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

再输入

RemoteSigned

选择 "Y"即可!

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

在这里插入图片描述

重启,即可解决问题!

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值