laradock切换php版本,重新构建workspace报错:ERROR [ 57/106] RUN if [ true = true ]; then [ -s "/home/laradock/.nvm/nvm.sh" ]

1. 运行环境

1). 当前使用的 Laravel 版本?

mac本,创建新项目Laravel 9.0

2). 当前使用的 php/php-fpm 版本?

php-fpm 版本:当前7.4,打算切换为8.0

2. 问题描述?

mac本laradock环境,当前的laravel项目运行正常,但版本较低。
由于业务需要开个新项目,打算尝试laravel 9。
laradock 的 env 文件 PHP_VERSION从7.4切换为8.0后

laradock切换php版本,重新构建workspace报错:ERROR [ 57/106] RUN if [ true = true ]; then [ -s "/home/laradock/.nvm/nvm.sh" ]

docker-compose build php-fpm 执行正常
但重新构建workspace时出错

docker-compose build workspace

Building workspace
[+] Building 17.8s (61/110)
*
***省略build成功的部分***
*
 => ERROR [ 57/106] RUN if [ true = true ]; then     [ -s "/home/laradock/.nvm/nvm.sh" ] && .  0.1s
------
 > [ 57/106] RUN if [ true = true ]; then     [ -s "/home/laradock/.nvm/nvm.sh" ] && . "/home/laradock/.nvm/nvm.sh" &&     if [ latest = "latest" ]; then         curl -o- -L https://yarnpkg.com/install.sh | bash;     else         curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version latest;     fi &&     echo "" >> ~/.bashrc &&     echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc ;fi:
------
executor failed running [/bin/sh -c if [ ${INSTALL_YARN} = true ]; then     [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" &&     if [ ${YARN_VERSION} = "latest" ]; then         curl -o- -L https://yarnpkg.com/install.sh | bash;     else         curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version ${YARN_VERSION};     fi &&     echo "" >> ~/.bashrc &&     echo 'export PATH="$HOME/.yarn/bin:$PATH"' >> ~/.bashrc ;fi]: exit code: 1

3. 您期望得到的结果?

docker-compose build workspace 成功

4. 您实际得到的结果?

laradock切换php版本,重新构建workspace报错:ERROR [ 57/106] RUN if [ true = true ]; then [ -s "/home/laradock/.nvm/nvm.sh" ]

5.我做的尝试

失败尝试一:
考虑缓存问题,docker-compose build –no-cache workspace
失败尝试二:
考虑网络原因,切换代理镜像还是不行。
失败尝试三:
laravel 8/9/10都重新创建了下,都不行。

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 8

就是网络原因,确认一下命令行是否启用代理,或者多试几次

1年前 评论
遇白 (楼主) 1年前
jatdung (作者) 1年前

同mac本,强推DNMP 相当丝滑

file

1年前 评论

新版本的node不兼容,去.env中固定一下v19.0.0版本,WORKSPACE_NODE_VERSION=v19.0.0

1年前 评论
gongmeng

这边建议不用在workspace容器内安装node,直接本地安装最好。另外使用laradock建议开个vpn,不然每次构建容器的时候,都基本会遇到因为网络访问不通导致的各种问题。

1年前 评论

是网络问题,配置这加速

# 开启ubuntu国内源
CHANGE_SOURCE=true
# composer镜像源
WORKSPACE_COMPOSER_REPO_PACKAGIST=https://mirrors.aliyun.com/composer/
# nvm镜像源
WORKSPACE_NVM_NODEJS_ORG_MIRROR=https://npmmirror.com/mirrors/node
# npm镜像源
WORKSPACE_NPM_REGISTRY=https://registry.npmmirror.com

另外,可以不用切版本,构建多个版本php-fpm和workspace,方便随时切换,你这样切换每次都需要重新编译,很浪费时间

1年前 评论

应该就是node的事情 如果不是必须就把env里的node安装去掉吧

1年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!