【问题标题】:MCrypt is missing from your system. OS Yosemite您的系统中缺少 MCrypt。操作系统优胜美地
【发布时间】:2015-05-22 02:07:47
【问题描述】:

所以在工作中,我的任务是学习并开始使用一些 Laravel,所以我一直在关注 Youtube 上的文档和一些教程,但我似乎无法让它工作。我正在使用 composer 和 MAMP 来安装 Laravel。当我在 htdocs 中使用命令(在终端中)“composer create-project laravel/laravel TestLaravel”时。它很快就出现了这个错误:

➜  htdocs  composer create-project laravel/laravel TestLaravel
Installing laravel/laravel (v5.0.1)
  - Installing laravel/laravel (v5.0.1)
    Loading from cache

Created project in TestLaravel
Loading composer repositories with package information
Installing dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laravel/framework v5.0.5 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework v5.0.4 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework v5.0.3 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework v5.0.2 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework v5.0.1 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - laravel/framework v5.0.0 requires ext-mcrypt * -> the requested PHP extension mcrypt is missing from your system.
    - Installation request for laravel/framework 5.0.* -> satisfiable by laravel/framework[v5.0.0, v5.0.1, v5.0.2, v5.0.3, v5.0.4, v5.0.5].

我想知道是否有人可以为我解决这个问题。

谢谢。

约书亚·约翰逊

【问题讨论】:

标签: php macos laravel


【解决方案1】:

Mac OS X Yosemite

您的系统中缺少请求的 PHP 扩展 mcrypt

我通过在终端中运行以下命令来修复此错误:

brew update
brew upgrade
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
brew install php54-mcrypt

【讨论】:

  • 这在 El Capitan 上对我有用(从 Yosemite 升级)。
  • 第四步在我的 OSX Yosemite 上导致了一堆错误:错误:无效的公式:/usr/local/Homebrew/Library/Taps/josegonzalez/homebrew-php/Formula/arcanist.rb在多次点击中找到的公式: * homebrew/php/php53 * josegonzalez/php/php53 请使用完全限定名称,例如homebrew/php/php53 参考公式。错误:无效的公式:/usr/local/Homebrew/Library/Taps/josegonzalez/homebrew-php/Formula/behat.rb 在多个水龙头中找到的公式:* homebrew/php/php53 * josegonzalez/php/php53 等等.. .
【解决方案2】:

大多数情况下,当您的 MAMP PHP 版本与命令版本 php 不匹配时,就会出现此问题。请通过输入 php -v 在终端中查看,然后它会显示类似 php 5.5.*

的版本

问题是你必须像这样在~/.bash_profile 中设置你的 MAMP PHP 路径:

sudo nano ~/.bash_profile

PATH="/Applications/MAMP/bin/php/php5.6.7/bin:$PATH"

就是这样,如果你想使用你的默认系统php,或者安装mcrypt lib。

【讨论】:

  • 这有助于 Magento 2.x 和 MAMP。在此之前无法运行任何 Magento 命令。谢谢你。另外,请务必将上面的“php5.6.7”更改为您在MAMP中安装的版本。
【解决方案3】:

我解决这个问题的方法是安装 Homestead 并确保在运行任何命令之前登录到 Homestead 虚拟机。 MCrypt 没有安装在你的本地机器上,但它在 Homestead 中。

【讨论】:

  • 谢谢,我现在就试试看,希望这能奏效。
  • 祝乔什好运!一旦你启动并运行 Homestead,它真的很漂亮。请记住在使用homestead ssh 登录宅基地时执行所有composerartisan 命令
【解决方案4】:

有一个名为 mcrypt 的 PHP 扩展,它通常不随股票 PHP 包一起分发。 mcrypt 扩展是用于加密和散列功能的事实上的标准 PHP 扩展。 Laravel 使用 mcrypt。

OS X 上的内置 PHP 没有安装 mcrypt。这意味着您要么需要

  1. 为 OS X 的内置 PHP 自行构建和安装 mcrypt 扩展
  2. 使用自制软件通过 mycrypt 构建和安装 PHP
  3. 使用“为 OS X 预编译”的 PHP 包。
  4. 使用 vagrant 虚拟机来运行您的开发堆栈

我通常选择第三个选项,并使用lipp.ch 包。这是一个长期运行的项目,它起源于由 Marc Liyanage 管理的旧 entropy.ch 包。

【讨论】:

  • 谢谢,我会记住的。现在,我将通过 Homestead 进行尝试 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-16
  • 2014-12-14
  • 2014-05-27
  • 2015-01-22
相关资源
最近更新 更多