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后
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. 您实际得到的结果?
5.我做的尝试
失败尝试一:
考虑缓存问题,docker-compose build –no-cache workspace
失败尝试二:
考虑网络原因,切换代理镜像还是不行。
失败尝试三:
laravel 8/9/10都重新创建了下,都不行。
就是网络原因,确认一下命令行是否启用代理,或者多试几次
同mac本,强推DNMP 相当丝滑
新版本的node不兼容,去.env中固定一下v19.0.0版本,WORKSPACE_NODE_VERSION=v19.0.0
这边建议不用在workspace容器内安装node,直接本地安装最好。另外使用laradock建议开个vpn,不然每次构建容器的时候,都基本会遇到因为网络访问不通导致的各种问题。
是网络问题,配置这加速
另外,可以不用切版本,构建多个版本php-fpm和workspace,方便随时切换,你这样切换每次都需要重新编译,很浪费时间
应该就是node的事情 如果不是必须就把env里的node安装去掉吧