【问题标题】:gyp ERR! stack Error: EACCES: permission denied, mkdir '/usr/local/lib/node_modules/serverless/node_modules/snappy/.node-gyp'吉普错误!堆栈错误:EACCES:权限被拒绝,mkdir '/usr/local/lib/node_modules/serverless/node_modules/snappy/.node-gyp'
【发布时间】:2021-03-18 17:27:03
【问题描述】:

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

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

npm install -g serverless

我的用户是:

/root

【问题讨论】:

    标签: serverless-framework serverless aws-codebuild


    【解决方案1】:

    在第一个错误行中:

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

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

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

    最近的解决方案似乎是:

    npm_config_user=root npm install -g ...
    

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

    【讨论】:

    • 谢谢@oieduardorabelo。我最终使用了没有给我任何错误的纱线。我也会在某个时候尝试测试这个。
    • 为了获得可重现的结果,我建议不要在您的构建规范中安装 serverless@latest。顺便说一句,node-gyp 问题中的一些受访者建议在安装命令中添加--unsafe
    猜你喜欢
    • 2023-03-25
    • 2019-02-13
    • 2018-08-01
    • 2020-10-25
    • 2021-12-22
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 2019-01-15
    相关资源
    最近更新 更多