我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ubuntu安装Laravel,bash: ./vendor/bin/sail: 没有那个文件或目录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ubuntu安装Laravel,bash: ./vendor/bin/sail: 没有那个文件或目录

参照官方文档:Installation - Laravel - The PHP Framework For Web Artisans

把结论放到最前面吧:

 现在差不多能下结论了,要通过docker安装larabel,安装脚本会去启动一个laravelsail/php81-composer的docker实例,这个实例不能设置composer的参数,默认会去Packagist 下载包,所以如果这个网址打不开的话,要么得科学上网,要么这种方式就安装不了。

以下是爬坑过程


执行完安装的命令后

curl -s https://laravel.build/example-app | bash

报错:Docker is not running.

解决方案参考:ubuntu安装laravel,Docker is not running._Jenking Wang的博客-CSDN博客

重新执行命令

sudo curl -s https://laravel.build/first_laravel5 | sudo bash

可以开始安装了,安装完毕后,执行

cd first_laravel5/./vendor/bin/sail up

报错:bash: ./vendor/bin/sail: 没有那个文件或目录

ls 查看一下,发现没有vendor目录。

安装输出的信息如下:

jenking@jenking-7836:~/php_source$ sudo curl -s https://laravel.build/first_laravel5 | sudo bash _   _| | | || |     __ _ _ __ __ ___   _____| || |    / _` | '__/ _` \ \ / / _ \ || |___| (_| | | | (_| |\ V /  __/ ||______\__,_|_|  \__,_| \_/ \___|_|Warning: TTY mode requires /dev/tty to be read/writable.    Creating a "laravel/laravel" project at "./first_laravel5"    Info from https://repo.packagist.org/: #StandWithUkraine    Installing laravel/laravel (v9.1.10)      - Downloading laravel/laravel (v9.1.10)      - Installing laravel/laravel (v9.1.10): Extracting archive    Created project in /opt/first_laravel5    > @php -r "file_exists('.env') || copy('.env.example', '.env');"    Loading composer repositories with package information    https://repo.packagist.org/ could not be fully loaded (curl error 28 while downloading https://repo.packagist.org//packages.json: Failed to connect to repo.packagist.org port 443: Connection timed out), package information was loaded from the local cache and may be out of date    A connection timeout was encountered. If you intend to run Composer without connecting to the internet, run the command again prefixed with COMPOSER_DISABLE_NETWORK=1 to make Composer run in offline mode.[Composer\Downloader\TransportException]      curl error 28 while downloading https://repo.packagist.org//p2/mockery/mockery.json: Failed to connect to repo.packagist.org port 443: Connection timed outcreate-project [-s|--stability STABILITY] [--prefer-source] [--prefer-dist] [--prefer-install PREFER-INSTALL] [--repository REPOSITORY] [--repository-url REPOSITORY-URL] [--add-repository] [--dev] [--no-dev] [--no-custom-installers] [--no-scripts] [--no-progress] [--no-secure-http] [--keep-vcs] [--remove-vcs] [--no-install] [--ignore-platform-req IGNORE-PLATFORM-REQ] [--ignore-platform-reqs] [--ask] [--] [] [] []Get started with: cd first_laravel5 && ./vendor/bin/sail up

看提示信息是 curl 访问 Packagist 这个域名出现了问题,用浏览器打开这个域名,打不开,看输出信息里有 #StandWithUkraine,不知道是不是跟这个有关系。

看信息是 Loading composer repositories with package information  这句之后开始timeout的,推想安装一下composer, 设置一下代理试试能不能解决。

sudo apt install composer

设置一下阿里云的代理试试:阿里云Composer镜像站-阿里云开发者社区

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/

测试一下 

composer -vvv require alibabacloud/sdk

不成功,报错:Warning from https://mirrors.aliyun.com/composer: Support for Composer 1 is deprecated and some packages will not be available. You should upgrade to Composer 2. See https://blog.packagist.com/deprecating-composer-1-support/
Composer 1已经废弃了,ubuntu通过apt安装的还是composer 1版本,需要升级到Composer 2,那就卸载重装吧

sudo apt autoremove composer

 重新安装只能按照官网文档装了,Composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

结果又报错:PHP Warning:  copy(): Unable to find the wrapper "https" - did you forget to enable it when you configured PHP? in Command line code on line 1

根据 https 关键字,推测根SSL有关,PHP安装的时候是通过源码编译安装的,PHP: Nginx 1.4.x on Unix systems - Manual

编译的时候就用了两个参数

./configure --enable-fpm --with-mysqli

那就重新编译吧,把ssl扩展给加上,正好要重新编译,那就研究一下都有哪些扩展需要用的都加上吧, ./configure --help 可以列出所有的参数

这是我最终选择的编译参数,看着脸熟可能会用到的

./configure --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --with-fpm-systemd --with-mysqli --with-pdo-mysql --with-openssl --with-zlib --enable-bcmath --with-curl --enable-gd --with-jpeg --enable-mbstring

中间会提示一堆的  configure error:Package requirements (openssl) were not met 各种包缺失,一一安装吧,我的安装了这些

sudo apt install libssl-devsudo apt install libcurl4-openssl-devsudo apt install libpng-devsudo apt install libjpeg-devsudo apt install libonig-dev

终于不报错了

 接着就 make && make install 吧, 耐心等待一会...安装成功

接下来安装composer,从官网文档安装:Composer

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"php composer-setup.phpphp -r "unlink('composer-setup.php');"

没报什么错,安装成功:

 有个小提示,编译PHP的时候没有编译zlib扩展,会减慢composer,介意这个的可以编译的时候再加上一个 --with-zlib 选项,我先不管,回头再弄这个。

将composer.phar移动到系统路径

sudo mv composer.phar /usr/local/bin/composercomposer --version

输出

 composer安装成功。

设置阿里云的composer镜像,及测试

composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/composer -vvv require alibabacloud/sdk

ok,通过。

接着回到安装laravel的命令

sudo curl -s https://laravel.build/first_laravel8 | sudo bash

还是不行,还是会连接 https://repo.packagist.org/ 

我把这个脚本打出来看了一下sudo curl -s https://laravel.build/first_laravel8

docker info > /dev/null 2>&1# Ensure that Docker is running...if [ $? -ne 0 ]; then    echo "Docker is not running."    exit 1fidocker run --rm \    -v "$(pwd)":/opt \    -w /opt \    laravelsail/php81-composer:latest \    bash -c "laravel new first_laravel8 && cd first_laravel8 && php ./artisan sail:install --with=mysql,redis,meilisearch,mailhog,selenium "cd first_laravel8CYAN='\033[0;36m'LIGHT_CYAN='\033[1;36m'WHITE='\033[1;37m'NC='\033[0m'echo ""if sudo -n true 2>/dev/null; then    sudo chown -R $USER: .    echo -e "${WHITE}Get started with:${NC} cd first_laravel8 && ./vendor/bin/sail up"else    echo -e "${WHITE}Please provide your password so we can make some final adjustments to your application's permissions.${NC}"    echo ""    sudo chown -R $USER: .    echo ""    echo -e "${WHITE}Thank you! We hope you build something incredible. Dive in with:${NC} cd first_laravel8 && ./vendor/bin/sail up"fi

其中

docker run --rm \
    -v "$(pwd)":/opt \
    -w /opt \
    laravelsail/php81-composer:latest \
    bash -c "laravel new first_laravel8 && cd first_laravel8 && php ./artisan sail:install --with=mysql,redis,meilisearch,mailhog,selenium "

运行一个docker实例,这个实例要获取  laravelsail/php81-composer 这个image,网上查了一下没有这个实例方面的资料,然后我去docker hub上查了这个image,什么信息也没有,应该不能传递参数进去设置 mirror。

 现在差不多能下结论了,要通过docker安装larabel,安装脚本会去启动一个laravelsail/php81-composer的docker实例,这个实例不能设置composer的参数,默认会去Packagist 下载包,所以如果这个网址打不开的话,要么得科学上网,要么这种方式就安装不了。

接下来我用composer方式安装吧。

来源地址:https://blog.csdn.net/senir/article/details/125228171

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ubuntu安装Laravel,bash: ./vendor/bin/sail: 没有那个文件或目录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录

有时候编写脚本时会出现类似标题列出的错误,这个问题大多数是因为你的脚本文件在windows下编辑过。windows下,每一行的结尾是nr,而在linux下文件的结尾是n,那么你在windows下编辑过的文件在linux下打开看的时候每一行的
2022-06-04

Ubuntu下出现Python.h:没有那个文件或目录的解决方法

本篇内容主要讲解“Ubuntu下出现Python.h:没有那个文件或目录的解决方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Ubuntu下出现Python.h:没有那个文件或目录的解决方法”
2023-06-13

遇到Ubuntu致命错误之Python.h没有那个文件或目录怎么办

这篇文章给大家分享的是有关遇到Ubuntu致命错误之Python.h没有那个文件或目录怎么办的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧!今天在实验室的ubuntu机子上安装Eventlet,在安装依赖包gree
2023-06-08

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录