问题描述

在 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.js 命令必须加 npx 才能执行的更多相关文章

  1. Node.js 命令行工具的编写

    日常开发中,编写 Node.js 命令行工具来完成一些小任务是很常见的操作.其编写也不难,和日常编写 Node.js 代码并无二致. package.json 中的 bin 字段 一个 npm 模块, ...

  2. 使用Node.js给图片加水印的方法

    一.准备工作: 首先,确保你本地已经安装好了node环境. 然后,我们进行图像编辑操作需要用到一个Node.js的库:images. 这个库的地址是:https://github.com/zhangy ...

  3. Node.js require 模块加载原理 All In One

    Node.js require 模块加载原理 All In One require 加载模块,搜索路径 "use strict"; /** * * @author xgqfrms ...

  4. Node.js 命令行程序开发资料

    Node.js 命令行程序开发教程http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html用Node.js创建命令行工具ht ...

  5. 一个最简单 node.js 命令行工具

    一个最简单 node.js 命令行工具 node.js cli $ node cli.js xyz # OR $ node cli xyz 接受参数 process.argv js "use ...

  6. Node.js实现热加载

    不管是node.js原生开发,还是借助express,kora等框架开发node.js的情况下,在对代码做出更新后,都是需要重启已生效我们的文件的. 本文记录一次在原生node.js开发的时候,为项目 ...

  7. 用node.js给图片加水印

    一.准备工作: 首先,确保你本地已经安装好了node环境.然后,我们进行图像编辑操作需要用到一个Node.js的库:images.这个库的地址是:https://github.com/zhangyua ...

  8. 对于HTML页面中CSS, JS, HTML的加载与执行过程的简单分析

    来自   https://blog.csdn.net/u011088260/article/details/79563315   最近在研究HTML页面中JavaScript的执行顺序问题.在Java ...

  9. Node.js 命令行程序开发教程

    nodejs开发命令行程序非常方便,具体操作方式查看下面几篇文章 http://www.ruanyifeng.com/blog/2015/05/command-line-with-node.html ...

  10. Node.js中模块加载机制

    1.模块查找规则-当模块拥有路径但没有后缀时:(require(‘./find’)) require方法根据模块路径查找模块,如果是完整路径,直接引入模块: 如果模块后缀省略,先找同名JS文件,再找同 ...

随机推荐

  1. Django框架项目之上线——docker、部署上线

    文章目录 Docker CentOS安装Docker 设置管理Docker的仓库 安装Docker Engine-Community Docker基础命令 开启关闭 镜像操作 容器操作 Docker安 ...

  2. 程序员必备:使用AI工具通义千问,没有广告没有假链接,比搜索引擎要便捷多了,回答还算满意

    我提的问题是:使用Python连接Oracle,cx_Oracle和oracledb那个效率更高,功能更全,请列出他们的区别和实例代码 回复是: 以下是使用Python连接Oracle时,cx_Ora ...

  3. PostgreSQL学习笔记-1.基础知识:创建、删除数据库和表格

    PostgreSQL 创建数据库 PostgreSQL 创建数据库可以用以下三种方式:1.使用 CREATE DATABASE SQL 语句来创建.2.使用 createdb 命令来创建.3.使用 p ...

  4. 给定3个整数a、b、c,计算表达式(a+b)/c的值,/是整除运算。[无解]

    题目4-2:给定3个整数a.b.c,计算表达式(a+b)/c的值,/是整除运算. 给定3个整数a.b.c,计算表达式(a+b)/c的值,/是整除运算. 输入格式:输入仅一行,包括三个 整数a.b.c, ...

  5. MongoDB数据的导出导入及日志分析

    一.远程连接导出报错超时 mongodump -h 10.110.63.150:27017 -u'admin' -p'passwd!' --authenticationDatabase flowtes ...

  6. 以太坊和比特币区块链的异同(一些QA)

    1.比特币区块链和以太坊区块链有何区别? 比特币区块链与以太坊在设计和功能上有显著的不同.下面是关于比特币的主要点: 没有智能合约功能(按照以太坊的定义):比特币是为了作为一个去中心化的数字货币而创建 ...

  7. 洛谷P3612(递归)

    题目描述 The cows are experimenting with secret codes, and have devised a method for creating an infinit ...

  8. [C++]P3379 LCA 最近公共祖先

    最近公共祖先 LCA 倍增写法 LCA的倍增主要由三个重要的过程组成 预处理lg数组 DFS求fa depth 倍增节点 观看以下内容前建议先把完整代码大致纵览一遍,有利于理解各个函数的意义 倍增思想 ...

  9. MySQL 数据库表格创建、数据插入及获取插入的 ID:Python 教程

    创建表格 要在MySQL中创建表格,请使用"CREATE TABLE"语句. 确保在创建连接时定义了数据库的名称. 示例创建一个名为 "customers" 的 ...

  10. 手把手教你如何扩展(破解)mybatisplus的sql生成

    mybatisplus 的常用CRUD方法 众所周知,mybatisplus提供了强大的代码生成能力,他默认生成的常用的CRUD方法(例如插入.更新.删除.查询等)的定义,能够帮助我们节省很多体力劳动 ...