我正在尝试将@vue/cli安装到新的docker镜像中。上次我这样做是在半年前,我已经成功了。但这一次,奇怪的事情发生了。
这是我的Dockerfile
FROM node:lts-alpine
RUN apk add --no-cache git
RUN yarn global add @vue/cli当我运行docker image build -t vue:alpine .时,我得到这样的响应:
Sending build context to Docker daemon 4.096kB
Step 1/3 : FROM node:lts-alpine
---> 5d187500daae
Step 2/3 : RUN apk add --no-cache git
---> Using cache
---> 54e50fd9dcb8
Step 3/3 : RUN yarn global add @vue/cli
---> Running in 79e4aa0bf291
yarn global v1.19.1
[1/4] Resolving packages...
error Couldn't find package "function-bind" on the "npm" registry.
info Visit https://yarnpkg.com/en/docs/cli/global for documentation about this command.
warning @vue/cli > @vue/cli-ui > vue-cli-plugin-apollo > nodemon > chokidar > fsevents@1.2.9: One of your dependencies needs to upgrade to fsevents v2: 1) Proper nodejs v10+ support 2) No more fetching
binaries from AWS, smaller package size
Error: Couldn't find package "arr-diff" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "array-unique" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "array-unique" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "array-unique" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "arr-diff" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "ajv" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "function-bind" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "array-unique" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "function-bind" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "function-bind" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "function-bind" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "json5" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at runMicrotasks (<anonymous>)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "statuses" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "statuses" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "statuses" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "for-in" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "statuses" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)
at Generator.next (<anonymous>)
at step (/opt/yarn-v1.19.1/lib/cli.js:304:30)
at /opt/yarn-v1.19.1/lib/cli.js:315:13
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Error: Couldn't find package "function-bind" on the "npm" registry.
at MessageError.ExtendableBuiltin (/opt/yarn-v1.19.1/lib/cli.js:721:66)
at new MessageError (/opt/yarn-v1.19.1/lib/cli.js:750:123)
at NpmResolver.<anonymous> (/opt/yarn-v1.19.1/lib/cli.js:50683:15)我试着在npmjs.com上找到一些这样的包,它们都很好。所以看起来,有些东西阻止了yarn连接到npm repo。
有没有人有类似的问题,如何解决?
小更新:我在npm (Dockerfile)上尝试过类似的东西:
FROM node:lts-alpine
RUN apk add --no-cache git
RUN npm install -g @vue/cli几分钟后,我得到了:
Sending build context to Docker daemon 4.096kB
Step 1/3 : FROM node:lts-alpine
---> 5d187500daae
Step 2/3 : RUN apk add --no-cache git
---> Using cache
---> 54e50fd9dcb8
Step 3/3 : RUN npm install -g @vue/cli
---> Running in 9c8e21b3fcc7
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/statuses
npm ERR! 404
npm ERR! 404 'statuses@>= 1.5.0 < 2' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of 'http-errors'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2019-11-16T18_48_54_942Z-debug.log
The command '/bin/sh -c npm install -g @vue/cli' returned a non-zero code: 1发布于 2019-11-21 07:26:02
所以我弄清楚了,它是一个由node图像提供的npm (偶尔也是一个yarn )。当前镜像node:13.1.0-alpine包含npm version 6.12.0
我是这样解决这个问题的:
FROM node:lts-alpine
RUN apk add --no-cache curl
RUN curl -L https://www.npmjs.com/install.sh | sh
RUN npm -v此Dockerfile中使用的脚本由npm自己提供,它会将较新版本的npm安装到镜像中。npm version 6.13.1
而我只是构建它,并使用它而不是原始图像。
docker build -t node-updated .
docker run node-updated npm install -g @vue/cli不过,这并不能解决yarn的问题。
我非常确定这是node镜像的暂时问题,因为它很快就会更新。希望有人会发现它是有用的。
发布于 2021-02-12 02:04:57
默认情况下不安装Yarn。通过在Dockerfile中添加以下行,您可以安装yarn。
RUN apk add yarnapk命令类似于apt-get或yum,但用于高山分布。
安装yarn后,可以添加以下代码行来安装vue-cli和vue-cli-service。在我的例子中,我两者都需要。
RUN yarn global add @vue/cli @vue/cli-service-globalhttps://stackoverflow.com/questions/58894041
复制相似问题