DevEco Studio中npm install -g @deveco/deveco-code报错

DevEco Studio中npm install -g @deveco/deveco-code报错

PS C:\Users\Fighter\QuickStudy> npm install -g [@deveco](/user/deveco)/deveco-code
npm error code EPERM
npm error syscall mkdir
npm error path D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\[@deveco](/user/deveco)
npm error errno -4048
npm error Error: EPERM: operation not permitted, mkdir 'D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\[@deveco](/user/deveco)'
npm error     at async mkdir (node:internal/fs/promises:859:10)
npm error     at async D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:572:20
npm error     at async Promise.allSettled (index 0)
npm error     at async #reifyPackages (D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:309:11)
npm error     at async Arborist.reify (D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\node_modules\@npmcli\arborist\lib\arborist\reify.js:121:5)
npm error     at async Install.exec (D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\lib\commands\install.js:152:5)
npm error     at async Npm.exec (D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\lib\npm.js:209:9)
npm error     at async module.exports (D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\npm\lib\cli\entry.js:67:5) {
npm error   errno: -4048,
npm error   code: 'EPERM',
npm error   syscall: 'mkdir',
npm error   path: 'D:\\Program Files\\Huawei\\DevEco Studio\\tools\\node\\node_modules\\[@deveco](/user/deveco)'

12 回复

管理员打开cmd或PowerShell

  1. 重新执行 npm 命令

或者 给 node 文件夹手动放开权限

  1. 打开路径:D:\Program Files\Huawei\DevEco Studio\tools\node
  2. 右键 node 文件夹 → 属性 → 顶部「安全」标签
  3. 点击「编辑」→「添加」,输入你的 Windows 用户名,检查名称确定
  4. 选中刚添加的用户,权限里勾选:
    • 完全控制
    • 修改
    • 写入

报错根因:权限不足:

  • npm 想在 DevEco Studio 自带的 node 目录 里创建文件夹,但 Windows 不允许普通权限写入 Program Files 目录,所以被系统拒绝了。

解决方案一【用管理员权限运行终端】:

  • 关闭当前终端
  • 右键 以管理员身份运行 PowerShell / CMD
  • 再执行:
npm install -g @deveco/deveco-code

解决方案二【不要用 DevEco 自带的 node,用你自己安装的独立 Node.js】:

  • 单独安装 Node.js(官网下载 Node.js 18 及以上,推荐使用 22 及以上版本)
  • 重新打开终端,确保 node -v 显示的是你自己的版本
  • 再执行安装命令

可以参考下我这篇文章:《DevEco CLI 初探索:试着用一条命令行跑通鸿蒙开发》

开发者您好,针对您的问题分析可能的原因:

  1. Node.js版本不兼容,建议使用推荐的Node.js版本;
  2. npm源的问题,可尝试切换npm镜像源;
  3. 权限问题,全局安装可能需要管理员权限;
  4. 网络问题导致包下载失败。

建议参考官方文档中关于DevEco Code安装的说明,检查环境要求和安装步骤:https://gitcode.com/openharmony-sig/deveco-code

观察错误信息中的 错误码 EPERM和 errno -4048 , 这个明确表示没有操作权限。尝试在 D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules[@deveco](/user/deveco)这个目录下创建文件夹,但该路径位于 Program Files系统保护目录下,普通用户权限无法直接写入。

简单说,就是 npm 需要创建文件夹来安装全局包,但它没有获得操作系统的许可。

解决方案:以管理员身份来运行终端

看报错里的路径:D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\。npm 试图往 DevEco Studio 的安装目录下建文件夹,但 Windows 不让你往 Program Files 里随便写东西。
尝试用下面的办法解决

右键 PowerShell → 以管理员身份运行,然后再敲一遍:

npm install -g [@deveco](/user/deveco)/deveco-code

完事。但我不推荐你养成这个习惯。频繁用管理员权限跑开发工具,迟早会遇到更诡异的权限污染问题。

  1. 本地的node 版本在PATH 里独立版排在 DevEco 前面

搞完之后 通过

npm list -g @deveco/deveco-code 来判断下是否安装成功

管理员权限打开终端运行就可以了,我之前也这样

cke_718.png

这个报错主要看这一行:

npm error path D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\@deveco
npm error EPERM: operation not permitted, mkdir

原因是你现在执行 npm install -g 使用的是 DevEco Studio 自带 Node.js 环境

它的全局 npm 安装目录在:

D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules

这个目录属于 Program Files,一般需要管理员权限,而且 DevEco 自带 Node 目录不建议拿来装全局 npm 包。

解决方法:

方法1(推荐):使用自己安装的 Node.js

先看当前 npm:

npm config get prefix

如果显示类似:

D:\Program Files\Huawei\DevEco Studio\tools\node

说明用的是 DevEco 内置 Node。

安装官方 Node.js 后:

重新打开 PowerShell:

node -v
npm -v

确认路径:

where node

应该类似:

C:\Program Files\nodejs\node.exe

然后:

npm install -g @deveco/deveco-code

方法2:管理员运行终端

右键 PowerShell:

“以管理员身份运行”

再执行:

npm install -g @deveco/deveco-code

可以解决权限问题。

但是不太推荐,因为会污染 DevEco 自带 Node 环境。

方法3:修改 npm 全局目录

比如:

npm config set prefix D:\npm-global

然后把:

D:\npm-global

加入系统 PATH。

再:

npm install -g @deveco/deveco-code

建议你的情况:

DevEco Studio + DevEco Code 共存的话,不要使用 DevEco 内置 Node。

推荐:

系统 Node.js

→ 安装 deveco-code CLI

→ DevEco Studio 自己管理自己的 Node

这样后续升级 DevEco 也不会影响 CLI。

你这个错误不是 @deveco/deveco-code 包的问题,就是 npm 全局安装目录权限冲突。

希望可以帮到你~~~

开发者你好,根据日志报错,你这个问题是因为没有该目录创建文件的权限: D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules,可以以管理员的方式运行DevEco Studio再试一下。

npm error Error: EPERM: operation not permitted, mkdir 'D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules\@deveco'

问题原因:表明没有管理员权限。

解决方案: 需要使用管理员权限打开shell 在执行命令

做了什么

该报错通常源于npm版本过低、网络无法访问华为云镜像或权限不足。请确认npm版本≥7,使用npm config set registry https://repo.huaweicloud.com/repository/npm/配置镜像,Windows以管理员身份运行cmd,macOS/Linux加sudo。另注意@deveco/deveco-code已更名,需查阅最新官方文档确认正确包名。

该错误是由于 DevEco Studio 安装在 D:\Program Files 目录下,该目录受系统保护,默认不允许普通用户写入。npm install -g 尝试在 D:\Program Files\Huawei\DevEco Studio\tools\node\node_modules 下创建 @deveco 文件夹时触发了权限拒绝(EPERM)。

解决方法:以 管理员身份 重新打开 PowerShell 或 CMD(右键点击开始菜单 → Windows PowerShell (管理员) / 命令提示符 (管理员)),然后再次运行:

npm install -g @deveco/deveco-code

或者将 npm 全局安装路径改为当前用户目录(推荐,避免后续类似问题):

npm config set prefix "C:\Users\你的用户名\AppData\Roaming\npm"

然后重新执行安装命令(无需管理员权限)。

回到顶部