吉普 错误!堆栈错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/serverless/node_modules/snappy/.node-gyp'

Ram*_*min 4 serverless-framework aws-codebuild serverless

我有一个 AWS CodeBuild 项目,它尝试安装无服务器框架,但在标题中返回错误,但它表示框架已成功安装。我的理解是,这无法安装 snappy 模块。这是为什么?我该如何解决这个问题?

我在 buildspec.yaml 中运行的命令是:

npm install -g serverless
Run Code Online (Sandbox Code Playgroud)

我的用户是:

/root
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

oie*_*elo 5

在第一行错误中:

gyp WARN EACCES current user ("nobody")...

似乎node-gyp正在尝试使用另一个用户而不是root

我们可以在包存储库中找到讨论的问题:

最新的解决方案似乎是:

npm_config_user=root npm install -g ...
Run Code Online (Sandbox Code Playgroud)

强制/设置 npm 安装过程使用的环境用户