Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 为什么我会得到一个';不允许跨设备链接';Gitlab CI/CD管道上的Docker出错?_Reactjs_Docker_Npm_Gitlab - Fatal编程技术网

Reactjs 为什么我会得到一个';不允许跨设备链接';Gitlab CI/CD管道上的Docker出错?

Reactjs 为什么我会得到一个';不允许跨设备链接';Gitlab CI/CD管道上的Docker出错?,reactjs,docker,npm,gitlab,Reactjs,Docker,Npm,Gitlab,我尝试删除node_modules文件夹,但仍然出现错误。它工作正常,但突然开始抛出这个错误 如果有帮助的话,这是一个react应用程序 Docker文件 ## Stage 0, "builder", based on Node.js, to build and compile the frontend # base image FROM node:alpine as builder # set working directory WORKDIR /app # add `

我尝试删除node_modules文件夹,但仍然出现错误。它工作正常,但突然开始抛出这个错误

如果有帮助的话,这是一个react应用程序

Docker文件

## Stage 0, "builder", based on Node.js, to build and compile the frontend
# base image
FROM node:alpine as builder

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

## add app
COPY . /app

# delete node modules to fix discrepancies
RUN rm -rf node_modules/

#RUN npm install && npm audit fix && npm audit fix --force && npm install
RUN npm install -g npm@7.0.3 && npm install && npm audit fix
RUN npm run build 

## Stage 1, "deployer", use nginx to deploy the code
## start app
FROM nginx:alpine

RUN rm -rf /usr/share/nginx/html/*
COPY --from=builder /app/build /usr/share/nginx/html/

RUN rm /etc/nginx/conf.d/default.conf
COPY ./nginx-custom.conf /etc/nginx/conf.d/default.conf

控制台错误

npm notice 
npm notice New patch version of npm available! 7.0.2 -> 7.0.3
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v7.0.3>
npm notice Run `npm install -g npm@7.0.3` to update!
npm notice 
npm ERR! code EXDEV
npm ERR! syscall rename
npm ERR! path /usr/local/lib/node_modules/npm
npm ERR! dest /usr/local/lib/node_modules/.npm-i9nnxROI
npm ERR! errno -18
npm ERR! EXDEV: cross-device link not permitted, rename '/usr/local/lib/node_modules/npm' -> '/usr/local/lib/node_modules/.npm-i9nnxROI'
npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-10-23T16_47_42_554Z-debug.log
The command '/bin/sh -c npm install -g npm@7.0.3 && npm install && npm audit fix' returned a non-zero code: 238
npm通知
npm注意npm的新补丁版本可用!7.0.2 -> 7.0.3
npm通知变更日志:
npm通知运行`npm安装-gnpm@7.0.3`更新!
npm通知
npm错误!代码EXDEV
npm错误!系统调用重命名
npm错误!路径/usr/local/lib/node_模块/npm
npm错误!dest/usr/local/lib/node_modules/.npm-i9nnxROI
npm错误!errno-18
npm错误!EXDEV:不允许跨设备链接,重命名'/usr/local/lib/node_modules/npm'->'/usr/local/lib/node_modules/.npm-i9nnxROI'
npm错误!此运行的完整日志可在以下位置找到:
npm错误/root/.npm/_logs/2020-10-23T16_47_42_554Z-debug.log
命令'/bin/sh-cnpminstall-gnpm@7.0.3&&npm安装和&npm审核修复程序“返回了非零代码:238

我遇到了同样的问题。由于基本映像是节点,因此npm应该已经全局安装。不需要运行
npm安装-gnpm@7.0.3
之后仍然能够执行所有npm相关项目。

抱歉,没有足够的代表发表评论

我实际上也遇到了类似的问题。节点已更新,将npm版本提升至7+,这似乎导致了人员问题。我的解决方案是在容器构建中版本锁定我的节点/NPM,直到我能够完全充实这些问题


FROM node:14.14-alpine3.11
是我正在使用的指令,使我保持6.x.x版本以保持构建工作。

我可能错了,但这似乎只是注意事项,错误似乎是在安装软件包之后发生的,不是吗?我将尝试删除该行,并检查它是否工作。感谢运行
npm安装-gnpm@latest安装NodeJS后,可能需要将npm更新为最新版本。
。我也遇到了同样的问题,它实际上可能是npm 7中的一个bug。但我不能证实。