Shopify CLI 与 Headless

Shopify CLI 安装报 EACCES 权限错误怎么解决

现象#

执行 npm i -g @shopify/cli 到最后几行出现 npm ERR! code EACCES,路径指向 /usr/local/lib/node_modules;加 sudo 装完能跑,换一个终端又提示 shopify 不是内部或外部命令。

原因#

  • 全局 node_modules 属于 root,npm prefix 又指向 /usr/local,普通用户写入被拒绝
  • Homebrew 装的 Node 把 prefix 设在 /opt/homebrew,系统升级后目录属主被重置
  • 用 sudo 安装后文件归 root 所有,之后普通用户执行升级或清理缓存再次失败
  • nvm 与系统 Node 并存,npm 实际解析到另一套 prefix,报错路径与 node -v 对不上

处理步骤#

  1. 先确认全局目录:npm config get prefix,再与 which -a shopify 的输出对照
  2. macOS 或 Linux 把 prefix 改到用户目录:npm config set prefix ~/.npm-global
  3. 把 ~/.npm-global/bin 写进 PATH,重新打开终端让配置生效
  4. 或改用 nvm 管理 Node,让 prefix 落在 ~/.nvm/versions/node/v22.x 下,不动系统目录
  5. 安装完成后执行 shopify version 与 shopify theme list 验证整条链路

验收标准#

shopify version 输出 4.x 且无 EACCES;新开终端跑 shopify theme list 能列出店铺主题。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。