Reactjs 和 Docker 中使用 yarn 的“install\r”错误是啥意思? [关闭]

Posted

技术标签:

【中文标题】Reactjs 和 Docker 中使用 yarn 的“install\\r”错误是啥意思? [关闭]【英文标题】:What does "install\r" error mean in Reactjs with Docker using yarn? [closed]Reactjs 和 Docker 中使用 yarn 的“install\r”错误是什么意思? [关闭] 【发布时间】:2021-12-10 03:10:48 【问题描述】:

我使用 Docker 设置创建了一个 Reactjs 应用程序。我使用的是 Windows 10。构建后,容器只是不断重新启动,在日志上产生错误:

Docker Image

Logs Image

Browser Image

yarn run v1.22.5
error Command "install\r" not found.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
: not foundotup.sh: line 3: 
/var/www/bootup.sh: line 11: syntax error: unexpected end of file (expecting "then")

Dockerfile

# pull official base image
FROM node:12.20.0-alpine3.10

WORKDIR /var/www

COPY package.json /var/www/
RUN yarn install

COPY . /var/www/

# Install create-react-app package
RUN yarn global add react-scripts

EXPOSE 3000

ADD ./bootup.sh /var/www
RUN cd /var/www
RUN chmod +x /var/www/bootup.sh

docker-compose.yml

version: '3.7'
services:
  frontend:
    build: .
    restart: unless-stopped
    tty: true
    working_dir: /var/www/
    ports:
      - '3002:3000'
    volumes:
      - '.:/var/www'
      - /var/www/node_modules
    environment:
      - CHOKIDAR_USEPOLLING=true yarn start
    command: /var/www/bootup.sh $SSL_ON

bootup.sh

# Install Dependencies
yarn install

# Start the react app
if [ "$1" == "true" ]
then
  yarn start-https
else
  yarn start
fi

我尝试重新启动它,杀死容器,再次克隆存储库,但问题仍然存在。

我使用另一台笔记本电脑在 Ubuntu 中克隆了存储库,这些错误均未发生,仅在 Windows 上发生。如果有人知道这意味着什么,那将是一个很大的帮助。

【问题讨论】:

请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。 可能是您的 bootup.sh 文件中的行结尾是 Windows 样式 \r\n。 Unix 风格只是 \n,这可能就是它抱怨额外的 \r 的原因。 我添加了图像以直观地查看错误和事件。 我想我已经尽可能具体了。您的 bootup.sh 以错误的格式保存。您需要在编辑器中打开它,该编辑器可以使用 Unix 样式的行结尾保存它并从那里保存。 @HansKilian 非常感谢。我尝试了你的建议并遵循了这个support.nesi.org.nz/hc/en-gb/articles/…,它奏效了。 【参考方案1】:

我根据@HansKilian 关于行尾的评论解决了这个问题。我按照此链接了解如何使用正确的 UNIX 样式行结尾转换 bootup.sh 文件:https://support.nesi.org.nz/hc/en-gb/articles/218032857-Converting-from-Windows-style-to-UNIX-style-line-endings

【讨论】:

以上是关于Reactjs 和 Docker 中使用 yarn 的“install\r”错误是啥意思? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Docker 搭建 Hadoop 集群 和 Spark On Yarn

yarn 容器资源隔离和docker容器资源隔离实现原理

使用 Yarn 2 (Berry) 在 Docker 镜像中打包应用程序

创建使用 yarn 链接的项目的 docker 镜像

docker-compose 中的 Yarn 命令找不到 && 命令

在托管 git 子模块的 docker 中使用 Yarn