【问题标题】:How to install yarn on docker FROM node:9.11.2-alpine?如何在 docker FROM node:9.11.2-alpine 上安装纱线?
【发布时间】:2018-06-23 15:12:46
【问题描述】:

我的码头工人

 - FROM node:9.11.2-alpine
 - RUN apk add yarn

还有错误:

yarn (missing):    required by: world[yarn]
[91mWARNING: Ignoring APKINDEX.84815163.tar.gz: No such file or directory
WARNING: Ignoring APKINDEX.24d64ab1.tar.gz: No such file or directory
ERROR: unsatisfiable constraints:
The command '/bin/sh -c apk add yarn' returned a non-zero code: 1

[Sat Jun 23 2018 16:04:57 GMT+0100 (GMT Daylight Time)] ERROR Child process exited with code 1

我不明白为什么将 Yarn 添加到 docker 中这么难。我尝试了很多东西,但都以某种方式失败了。

直到昨天,我还可以使用 RUN npm install -g yarn 在我的 docker 上安装 Yarn,但今天早上停止工作并出现错误:

https://registry.npmjs.org/yarn 的请求失败,原因:getaddrinfo EAI_AGAIN registry.npmjs.org:443

我尝试过的一些事情:

一天后编辑:

现在,当我执行yarn install 时,每个包都会出现getaddrinfo EAI_AGAIN registry.yarnpkg.com:443 错误。

看起来像重新启动 docker 修复它。更多信息请访问https://development.robinwinslow.uk/2016/06/23/fix-docker-networking-dns/

【问题讨论】:

    标签: docker yarnpkg


    【解决方案1】:

    听起来很愚蠢,看起来 yarn 已经安装在这个 docker 版本的节点中。所以根本不需要安装yarn

    无论如何不知道为什么RUN npm install -g yarn 从一天到另一天停止工作。

    【讨论】:

    • 好吧,如果你碰巧需要安装一些东西,解决方案是先调用apk update 来获取包索引,然后apk add yarn 会按预期工作。
    【解决方案2】:
    RUN set -eux \
        & apk add \
            --no-cache \
            nodejs \
            yarn
    

    【讨论】:

    • 这对我来说最可靠,dockerdocker-compose
    【解决方案3】:

    最新的yarn 包仅在边缘存储库中可用。这意味着,您应该按如下方式安装它(包括最新的nodejs 版本):

    RUN apk --no-cache add nodejs yarn --repository=http://dl-cdn.alpinelinux.org/alpine/edge/community
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-30
      • 2016-11-28
      • 2020-04-11
      • 2019-03-23
      • 2021-02-17
      • 2020-03-20
      • 2016-09-08
      • 2016-06-11
      相关资源
      最近更新 更多