【问题标题】:Install yarn in a docker container says missing dependency在 docker 容器中安装 yarn 说缺少依赖项
【发布时间】:2016-10-14 07:30:33
【问题描述】:

我使用 node:6.7.0 镜像作为我的 docker 容器,然后按照 yarn 的安装指南进行操作

sudo apt-key adv --keyserver pgp.mit.edu --recv D101F7899D41F3C3
echo "deb http://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

那我做

apt-get update && apt-get install yarn

但此时我收到一条错误消息,上面写着

yarn : Depends: nodejs (>= 4.0.0) but it is not going to be installed

我在安装前回显了node -v,它还说6.7.0

我错过了什么?

【问题讨论】:

  • 可能是node:6.7.0容器没有使用APT安装Node,因为APT提供的nodejs包太旧了。您可以尝试运行 npm install -g yarn 而不是通过 APT 安装 yarn

标签: javascript node.js docker yarnpkg


【解决方案1】:

robertklep 是对的 - 如果您检查 Dockerfile for Node,您会看到他们通过下载 TAR 来安装 Node,而不是通过 APT。您可以通过运行交互式容器来检查这一点:

> docker run -it node:6.7.0 bash
root@465fa07437c9:/# dpkg -s nodejs
dpkg-query: package 'nodejs' is not installed and no information is available

您可以在 Dockerfile 中使用 NPM:

FROM node:6.7.0
RUN npm install -g yarn

【讨论】:

  • 这是有效的,我已经按照评论中的建议进行了尝试。还是谢谢你
  • 这应该由 github.com/yarnpkg/yarn/pull/916 修复,它将 nodejs 依赖项从“depends”更改为“recommends”,以允许在未通过 apt-get 安装时使用 Node.js。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 2020-02-19
  • 2017-07-10
  • 1970-01-01
  • 1970-01-01
  • 2019-02-14
  • 2019-06-26
相关资源
最近更新 更多