ไม่สามารถติดตั้งโปรแกรมติดตั้ง laravel ผ่านตัวแต่ง


120

ฉันกำลังพยายามติดตั้งตัวติดตั้ง laravel กับผู้แต่งบนพีซี Ubuntu ของฉัน แต่ฉันได้รับข้อผิดพลาดนี้ระหว่างการติดตั้ง `ความต้องการของคุณไม่สามารถแก้ไขเป็นชุดแพ็คเกจที่ติดตั้งได้

  Problem 1
    - laravel/installer v1.4.1 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - laravel/installer v1.4.0 requires ext-zip * -> the requested PHP extension zip is missing from your system.
    - Installation request for laravel/installer ^1.4 -> satisfiable by laravel/installer[v1.4.0, v1.4.1].

  To enable extensions, verify that they are enabled in those .ini files:
    - /etc/php/7.0/cli/php.ini
    - /etc/php/7.0/cli/conf.d/10-opcache.ini
    - /etc/php/7.0/cli/conf.d/10-pdo.ini
    - /etc/php/7.0/cli/conf.d/20-calendar.ini
    - /etc/php/7.0/cli/conf.d/20-ctype.ini
    - /etc/php/7.0/cli/conf.d/20-exif.ini
    - /etc/php/7.0/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.0/cli/conf.d/20-ftp.ini
    - /etc/php/7.0/cli/conf.d/20-gettext.ini
    - /etc/php/7.0/cli/conf.d/20-iconv.ini
    - /etc/php/7.0/cli/conf.d/20-json.ini
    - /etc/php/7.0/cli/conf.d/20-phar.ini
    - /etc/php/7.0/cli/conf.d/20-posix.ini
    - /etc/php/7.0/cli/conf.d/20-readline.ini
    - /etc/php/7.0/cli/conf.d/20-shmop.ini
    - /etc/php/7.0/cli/conf.d/20-sockets.ini
    - /etc/php/7.0/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.0/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.0/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.0/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
`

ข้อผิดพลาดปรากฏขึ้นจากนั้นฉันใช้ความคิดเห็นนี้:

composer global require "laravel/installer"

คำตอบ:


285

มันบอกว่าต้องใช้นามสกุล zip

laravel / installer v1.4.0 ต้องใช้ ext-zip ...

ติดตั้งโดยใช้ (เพื่อติดตั้งเวอร์ชันเริ่มต้น):

sudo apt install php-zip

หรือหากคุณใช้ PHP เวอร์ชันเฉพาะ:

# For php v7.0
sudo apt-get install php7.0-zip

# For php v7.1
sudo apt-get install php7.1-zip

# For php v7.2
sudo apt-get install php7.2-zip

# For php v7.3
sudo apt-get install php7.3-zip

# For php v7.4
sudo apt-get install php7.4-zip

1
ทำงานได้อย่างสมบูรณ์ แต่ไม่ควรอยู่ในการติดตั้งของนักแต่งเพลง? เป็นตัวจัดการการพึ่งพา ... ไม่มีการพึ่งพา อาจจะเป็น Cannonical ที่พลาดการรวมเข้าด้วยกัน
Tyler Christian

2
@TylerChristian การติดตั้งของนักแต่งเพลงจะจัดการการอ้างอิง PHP php7.0-zip เป็นแพ็คเกจระบบ ผู้แต่งไม่สามารถแก้ไขได้ ในทางทฤษฎีเป็นไปได้ที่จะเพิ่ม hook ที่ติดตั้งแพ็คเกจระบบเช่นกัน แต่จะต้องมีการเข้าถึง sudo ซึ่งเป็นการปฏิบัติที่ไม่ดีจริงๆ
Alex

4
requires ext-zipเป็นข้อความที่ไม่เป็นประโยชน์ ควรพูดrequires php-zip or phpX.X-zipอย่างน้อย.
Henry

1
สำหรับผู้ใช้ mac os โปรดใช้ Homebrew แทน คุณไม่จำเป็นต้องเรียกใช้คำสั่งชงในฐานะรูท ตัวอย่าง: brew install php7.0-zip
Hosny Ben

32

สำหรับผู้ใช้ MAC ที่มี CATALINA

ขั้นแรกให้ติดตั้ง homebrew จากนั้นพูด

brew install php@7.3
brew link php@7.3

รีสตาร์ทคอนโซลและเรียกใช้ตัวติดตั้ง laravel


คำถามถามเกี่ยวกับ Ubuntu ไม่ใช่ Mac
Martijn Pieters

17
ใช่ แต่สิ่งนี้มีประโยชน์ต่อผู้อื่น ฉันใช้ Mac และพบสิ่งนี้จากการค้นหาโดย Google คำตอบนี้ไม่ใช่คำตอบอันดับต้น ๆ สำหรับ OP แต่เป็นประโยชน์สำหรับผู้อื่นอย่างแน่นอน
DavidG

โปรดเพิ่มคำอธิบายเพิ่มเติมในคำตอบของคุณ - คำสั่งนี้แก้ไขปัญหาที่ระบุได้อย่างไร มีปัญหาในการติดตั้งส่วนขยายโดยไม่ต้องติดตั้งโปรแกรมอื่นก่อนหรือไม่?
Nico Haase

21

ใน centos 7 ฉันได้ใช้:

yum install php-pecl-zip

เพราะวิธีอื่นไม่ได้ผลสำหรับฉัน


คำถามถามเกี่ยวกับ Ubuntu ไม่ใช่ CentOS
Martijn Pieters

นี่คือสิ่งที่ฉันกำลังมองหาขอบคุณ yum ติดตั้ง php-zip ไม่ทำงานบน CentOS 7
GTS Joe


6

หากคุณประสบปัญหานี้กับmacOS Catalinaขอแนะนำให้ทำตามขั้นตอนเหล่านี้:

  1. ติดตั้ง Homebrew (ถ้าคุณยังไม่ได้ดำเนินการ): ตรงไปที่brew.shหรือเรียกใช้คำสั่งนี้:/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. วิ่ง brew install php@7.3

  3. อัปเดตตัวแปร $ PATH ของคุณเพื่อรวม php เวอร์ชันที่ติดตั้งใหม่:

echo 'export PATH="/usr/local/opt/php@7.3/bin:$PATH"' >> ~/.zshrc

echo 'export PATH="/usr/local/opt/php@7.3/sbin:$PATH"' >> ~/.zshrc

  1. โหลดสคริปต์การตั้งค่าเชลล์ของคุณใหม่$ source ~/.zshrcหรือsource ~/.bashrc

  2. สุดท้ายติดตั้ง laravel: composer global require laravel/installer


1
ก่อนขั้นตอนที่ 4 ให้เปิดหน้าต่างเทอร์มินัลใหม่มิฉะนั้น $ PATH ใหม่จะไม่สามารถใช้ได้
user1771561

คำถามถามเกี่ยวกับ Ubuntu ไม่ใช่ Mac
Martijn Pieters



3
V=`php -v | sed -e '/^PHP/!d' -e 's/.* \([0-9]\+\.[0-9]\+\).*$/\1/'` \
sudo apt-get install php$V-zip

1
โปรดเพิ่มความคิดเห็นเพื่ออธิบายว่าโค้ดของคุณตอบคำถามอย่างไรเพื่อปรับปรุงคำตอบนี้
Eric Hauenstein


2

เพื่อทราบเวอร์ชัน php ของคุณ

php -v 

สำหรับ php 7.3.0

sudo apt-get install php7.3-zip

ฉันได้รับข้อผิดพลาดนี้: ไม่พบแพ็คเกจ php7.3-zip E: ไม่พบแพ็คเกจใด ๆ โดย glob 'php7.3-zip' E: ไม่พบแพ็คเกจใด ๆ โดย regex 'php7.3-zip '
หัวหมาก


1

ฉันใช้ WSL กับ ubuntu 16.04 LTS เวอร์ชันที่มี php 7.3 และ laravel 5.7

sudo apt-get install php7.3-zip

ทำงานให้ฉัน


1

ไม่มีส่วนขยาย zipคุณสามารถหลีกเลี่ยงข้อผิดพลาดนี้ได้โดยใช้คำสั่งด้านล่างอย่างง่ายซึ่งจะใช้เวอร์ชันโดยค่าเริ่มต้น

sudo apt-get install php-zip

ในกรณีที่คุณต้องการเวอร์ชันเฉพาะคุณต้องพูดถึงเวอร์ชันเฉพาะของ php ของคุณสมมติว่าฉันต้องติดตั้งXเวอร์ชัน php-zip จากนั้นคำสั่งจะเป็น

sudo apt-get install phpX-zip  

แทนที่Xด้วยเวอร์ชันที่คุณต้องการในกรณีของฉันก็คือ X = 7.3


1

สำหรับผู้ใช้ macOs คุณสามารถใช้ Homebrew แทนได้:

# For php v7.0
brew install php@7.0

# For php v7.1
brew install php@7.1

# For php v7.2
brew install php@7.2

# For php v7.3
brew install php@7.3

# For php v7.4
brew install php@7.4

โปรดเพิ่มคำอธิบายเพิ่มเติมในคำตอบของคุณ - รายการคำสั่งนี้แก้ไขปัญหาที่ระบุได้อย่างไร
Nico Haase
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.