【问题标题】:Install FOSUserBundle after cloning from Git从 Git 克隆后安装 FOSUserBundle
【发布时间】:2019-01-31 03:33:30
【问题描述】:

我在本地计算机上创建了自己的网站,它运行良好。我在开发它时获得了很多乐趣。但是当需要将它移动到我的服务器并进行测试时,我遇到了问题。

我正在使用 FOSUserBundle。显然是它自己的 Git,当我执行 git commit 和 push 时,git 忽略了 vendor/friendsofsymfony/user-bundle 中的所有内容。因此,当我克隆到我的服务器时,该文件夹为空,当然现在我的站点无法正常工作。

我想以正确的方式做到这一点。因此,如果这意味着要销毁 git repo 并以不同的方式进行操作,我可以接受。

到目前为止,我已经尝试过了。

  1. 按照 FOSUserBundle 的原始安装说明进行操作
  2. 运行以下:

    composer update friendsofsymfony/user-bundle

    composer install friendsofsymfony/user-bundle

两者都返回“无需更新/安装”

我还尝试在每次命令尝试之间清除作曲家的缓存。

rm -rf ~/.composer/cache

【问题讨论】:

  • 你的 vendor/ 目录是否被 Git 跟踪?
  • 听起来您正在尝试使用 git 子模块。当您有一个父 git 存储库(在这种情况下是您自己的网站),其中有一个子存储库 (FOSUserBundle) 时,就会发生这种情况。对吗?
  • 顺便说一句,Shaun 的建议通常是好的,但如果您使用 Composer,因为它是用来使用子模块的。
  • @Chris 工作就像一个魅力也感谢肖恩。

标签: php git symfony fosuserbundle


【解决方案1】:

答案在 cmets 中。忽略供应商/使用作曲家安装适当的文件。

还有这个Symfony project cloned with git vendors not installed

【讨论】:

    【解决方案2】:

    听起来您尝试做的是创建一个 mywebsite 父存储库,其中您有一个具有 FOSUserBundle 的第三方子存储库> 代码。这使用 git 子模块并需要相关的子模块命令,例如 git submodule init

    ... 目录在那里,但是是空的。您必须运行两个命令: git submodule init 来初始化您的本地配置文件,以及 git submodule update 来从该项目中获取所有数据并检查您的超级项目中列出的相应提交...

    我对作曲家一无所知。这是使用 git 执行此操作的方法。

    cd mywebsite
    git init
    git submodule add <url-to-FOSUserBundle-repo>
    

    你现在应该有一个这样的目录结构:

     mywebsite
         .git
         .gitmodules
         FOSUserBunder
             .git
    

    另见http://git-scm.com/book/en/v2/Git-Tools-Submodules

    【讨论】:

      猜你喜欢
      • 2020-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-05-03
      • 2016-11-11
      • 2018-02-08
      • 2020-03-04
      • 2012-12-29
      • 2015-04-11
      相关资源
      最近更新 更多