在Docker容器中安装yarn时出现了缺少依赖项的错误提示

22
我正在使用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

我有什么遗漏的吗?


2
可能是因为APT提供的nodejs软件包太旧了,所以node:6.7.0容器没有使用APT安装Node。您可以尝试运行npm install -g yarn来代替通过APT安装的yarn - robertklep
1个回答

41

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

> 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

这个已经可以运行了,我已经按照评论中的建议尝试过了。无论如何还是谢谢你。 - mstruebing
这个问题应该通过 https://github.com/yarnpkg/yarn/pull/916 进行修复,该修复将 nodejs 依赖项从“depends”更改为“recommends”,以允许在未通过 apt-get 安装 Node.js 的情况下使用它。 - Daniel Lo Nigro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接