首页 > 编程语言 >node.js 命令必须加 npx 才能执行

node.js 命令必须加 npx 才能执行

时间:2023-10-23 22:56:07浏览次数:33  
标签:node hexo js 命令 npx 执行 PowerShell 运行

问题描述

在 Windows 上搭建 Hexo 环境,已经从官网下载安装 node-v18.18.2-x64.msi,并且通过 npm 命令成功安装 hexo。

PowerShell 中,直接执行 hexo 命令报错:

hexo : 无法加载文件 C:\Users\zijia\AppData\Roaming\npm\hexo.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https
:/go.microsoft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ hexo
+ ~~~~
    + CategoryInfo          : SecurityError: (:) [],PSSecurityException
    + FullyQualifiedErrorId : UnauthorizedAccess

npx hexo 可以正确执行

解决方案

PowerShell 的默认脚本执行策略是 Restricted,它禁止运行脚本。可以通过更改 PowerShell 的执行策略来解决这个问题。

解决方法 1:修改执行策略(亲测可行)

你可以使用以下命令将 PowerShell 的执行策略设置为 RemoteSigned,这样你就可以运行本地脚本,但是从网络下载的脚本需要签名才能运行。注意,需要以管理员权限运行 PowerShell 执行下面的命令:

Set-ExecutionPolicy RemoteSigned

运行上述命令后,你应该能够运行 Hexo 命令了。请注意,这样设置执行策略可能会降低系统的安全性。请确保你信任你运行的脚本。

解决方法 2:在命令中使用 Bypass 参数

你也可以在运行 Hexo 命令时,使用 -ExecutionPolicy Bypass 参数来绕过脚本执行策略,例如:

powershell -ExecutionPolicy Bypass -Command "hexo"

这个命令将在绕过脚本执行策略的情况下运行 Hexo 命令。

解决方法 3:使用 npx

你已经提到了使用 npx hexo 命令可以正常执行。npx 是一个 Node.js 工具,它可以帮助你运行本地安装的 Node.js 包,而不需要设置 PowerShell 的执行策略。如果 npx hexo 对你来说可行,你可以继续使用这个命令来运行 Hexo。

以上方法中的任何一种都可以解决你的问题,选择其中一个适合你的情况。

标签:node,hexo,js,命令,npx,执行,PowerShell,运行
From: https://www.cnblogs.com/tengzijian/p/17783698.html

相关文章

  • 记录--vue3 + mark.js | 实现文字标注功能
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助页面效果具体实现新增1、监听鼠标抬起事件,通过window.getSelection()方法获取鼠标用户选择的文本范围或光标的当前位置。2、通过选中的文字长度是否大于0或window.getSelection().isCollapsed(返回一个布......
  • centos安装node指定版本
    1.下载nodejs包下载地址本文下载的是v16.17.12.解压上传文件到/usr/local/目录下,并解压tarzxvfnode-v16.17.1-linux-x64.tar.gz3.更名mvnode-v16.17.1-linux-x64/nodejs4.建立软连接ln-s/usr/local/node/bin/node/usr/local/binln-s/usr/local/node/bin/npm......
  • 随手笔记:Swagger 报错 NO Found /swagger/V1/swagger.json
    开发本地测试没问题,发布iis报错原因:swagger判断开发环境和发布环境解决办法:在startup.cs文件中找到调用swagger方法不做判断app.UseSwagger();      app.UseSwaggerUI(c=>c.SwaggerEndpoint("/swagger/v1/swagger.json","MyWebAPIV1"));如图所示:......
  • JS 对象的新增方法
    本章介绍Object对象的新增方法。Object.is()ES5比较两个值是否相等,只有两个运算符:相等运算符(==)和严格相等运算符(===)。它们都有缺点,前者会自动转换数据类型,后者的NaN不等于自身,以及+0等于-0。JavaScript缺乏一种运算,在所有环境中,只要两个值是一样的,它们就应该相等。ES6提出“Sa......
  • JS 对象的扩展
    属性的简洁表示法ES6允许在大括号里面,直接写入变量和函数,作为对象的属性和方法。这样的书写更加简洁。constfoo='bar';constbaz={foo};baz//{foo:"bar"}//等同于constbaz={foo:foo};上面代码中,变量foo直接写在大括号里面。这时,属性名就是变量名,属性值就是变......
  • JS 数组的扩展
    扩展运算符含义扩展运算符(spread)是三个点(...)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1,2,3])//123console.log(1,...[2,3,4],5)//12345[...document.querySelectorAll('div')]//[<div>,<div>,<div>]该运算符主要......
  • JS 函数的扩展
    函数参数的默认值基本用法ES6之前,不能直接为函数的参数指定默认值,只能采用变通的方法。functionlog(x,y){y=y||'World';console.log(x,y);}log('Hello')//HelloWorldlog('Hello','China')//HelloChinalog('Hello','')//......
  • 一些改动 \odoo\addons\web\static\src\webclient\user_menu\user_menu_items
      一些改动\odoo\addons\web\static\src\webclient\user_menu\user_menu_items.jsregistry.category("user_menuitems")//.add("documentation",documentationItem)//.add("support",supportItem).add("sho......
  • stencilJs学习之构建 Drawer 组件
    前言在之前的学习中,我们已经掌握了stencilJs中的一些核心概念和基础知识,如装饰器Prop、State、Event、Listen、Method、Component以及生命周期方法。这些知识是构建复杂组件和应用的基础,而抽屉组件是一个很好的示例,能够综合运用这些知识,让我们更深入地理解它们的作用和用法。为......
  • 如何在 Vue.js 中引入原子设计?
    本文为翻译文章,原文链接:https://medium.com/@9haroon_dev/introducing-atomic-design-in-vue-js-a9e873637a3e前言原子设计是一种创建设计系统的方法,它将用户界面分解为可重用的小组件,即:Atoms原子Molecules分子Organisms生物体Templates模板Pages页面通过遵循模......