小编php*_*uru的帖子

如何读取或反向工程composer.lock文件?

我继承了一个用PHP 5.3.x,Symfony2和Composer构建的项目,用于依赖管理.

composer.json文件有很多这样的行:"vendorname/library" : "dev-master"对于正在使用的库的版本.它最后一次编辑于2012年8月,并且由于composer.lock文件存在且项目在我们主机的服务器上运行,因此显然有效.

值得庆幸的是,对composer.lock进行了一次小调整,我开始composer install工作,但我现在要做的就是修复运行composer update时遇到的一些失败.网上有很多关于作曲家依赖地狱的帖子 - 而且我在河上的一条漏水船上朝着那里拔头发.

简而言之,几年前当composer.lock被创建时,该项目与当时版本的几十个包含供应商库的"dev"一起工作,但现在我正在努力清理这些混乱,我想将正确的版本放入composer.json并尝试从已知状态更新内容.

如何通过composer install发现实际安装的版本?或者composer.lock文件中的键/值告诉你这个?

我在composer.lock文件中有很多github提交哈希,但是给定一个任意提交哈希并不清楚最接近的标记版本是用composer.json替换相应的行.

这是composer.json的一个示例行:

"doctrine/doctrine-bundle"              : "dev-master",
Run Code Online (Sandbox Code Playgroud)

这是该模块的composer.lock中的相应节点:

{
    "name": "doctrine/doctrine-bundle",
    "version": "dev-master",
    "target-dir": "Doctrine/Bundle/DoctrineBundle",
    "source": {
        "type": "git",
        "url": "http://github.com/doctrine/DoctrineBundle.git",
        "reference": "d3c930599723c8343472a5791b0f5909a4111a73"
    },
    "dist": {
        "type": "zip",
        "url": "https://github.com/doctrine/DoctrineBundle/zipball/d3c930599723c8343472a5791b0f5909a4111a73",
        "reference": "d3c930599723c8343472a5791b0f5909a4111a73",
        "shasum": ""
    },
    "require": {
        "doctrine/dbal": ">=2.2,<2.4-dev",
        "php": ">=5.3.2",
        "symfony/doctrine-bridge": "2.1.*",
        "symfony/framework-bundle": "2.1.*"
    },
    "require-dev": {
        "doctrine/orm": ">=2.2,<2.4-dev",
        "symfony/validator": "2.1.*",
        "symfony/yaml": "2.1.*"
    },
    "suggest": {
        "doctrine/orm": "The Doctrine ORM integration is optional in …
Run Code Online (Sandbox Code Playgroud)

php symfony composer-php

7
推荐指数
1
解决办法
1322
查看次数

在Mac OS X上从boot2docker迁移到Vagrant + NFS的最快方法是什么?

我有一个从官方mysql构建的数据库容器docker pull mysql.

我有一个app用Cake构建的前端应用程序.

我有一个cms使用Symfony构建的后端应用程序.

我有集装箱进行链接设置为两个app,并cms启动并自动连接到db.

一切都很好但是boot2docker的速度非常慢.

我一直在努力了解如何在NFS中使用Vagrant.

网上有一些不同的教程和例子,但到目前为止我一直无法上手.我已经安装了最新的Vagrant并使用了这个例子yungsang/boot2docker但是当我尝试最简单的命令时,docker images我不断收到错误FATA[0000] An error occurred trying to connect: Get https://localhost:2375/v1.16/images/json: tls: oversized record received with length 20527.

我发现,如果我vagrant ssh进入VM,我可以运行docker images等等,但这不是我想要的; 我习惯直接从Mac OS X终端运行docker命令.很明显我误解了一些东西.另外关于流浪博客使用教程rsync--provider=docker这也似乎有必要不使用yungsang/boot2docker流浪汉框.

我会感激一些指导,感觉我在这个问题上耗尽了我的Google搜索功能.

参考文献:

https://www.vagrantup.com/blog/feature-preview-vagrant-1-6-docker-dev-environments.html https://github.com/boot2docker/boot2docker/issues/64 https:// vagrantcloud. COM/yungsang /盒/ boot2docker

nfs docker boot2docker osx-yosemite

6
推荐指数
1
解决办法
3867
查看次数

我想使用git svn跟踪Subversion存储库中的两个远程分支。怎么样?

我整天都在尝试基于非常大的远程Subversion存储库在本地手动配置git存储库。它具有默认配置(主干,分支,标签),但是我只需要一小部分数据。

我没有完全理解.git / config中Git的:refs / remotes / *语法,即使许多在线帖子都包含有关编辑和获取的说明。

我将我的svn存储库存储到$SVNR环境变量中。大约等于 https://svn.ourserver.com/svn/

我想要一个git master分支来跟踪$ SVNR / branches / production和一个development分支来跟踪远程svn中继。

我有一个庞大的仓库,只希望进行一些修订,并将git仓库构造为远程SVN仓库的较小子集,就像这样。在许多其他网站和有关此操作的帖子之后,就我的克隆命令而言,我最终得到了这一点:

git svn clone -r2000:HEAD --prefix=svnrepo/ --authors-file=/Users/phpguru/Sites/authors.txt $SVNR/branches/production gitrepo

现在我可以cd gitrepo看到我的.git/config

[svn-remote "svn"]
    url = https://svn.ourserver.com/svn/projectfoo/branches/production
    fetch = :refs/remotes/svnrepo/git-svn
[svn]
    authorsfile = /Users/phpguru/Sites/authors.txt
Run Code Online (Sandbox Code Playgroud)

现在,让我们暂时分开。为什么不在master这里列出?哪里git-svn来的?这在我的SVN存储库中不存在。我不明白为什么提取引用没有说fetch = master:refs/remotes/svnrepo/branches/production?如许多示例所示,我可以将“ svn”更改为“ projectfoo”吗?

当我做一个git svn infogit branch -a我确实看到一个主分支。看来master可以正确地跟踪我想要的分支/生产。

我的问题是,我现在该如何创建一个 development跟踪远程干线分支?

我尝试了十二种不同的方法,包括使用一些逻辑提取行来编辑.git / config:

fetch = branches/*:refs/remotes/svnrepo/branches/*
fetch = development/*:refs/remotes/svnrepo/trunk/* …
Run Code Online (Sandbox Code Playgroud)

svn git version-control git-svn

5
推荐指数
0
解决办法
662
查看次数

如何创建到dockerfile/mysql容器的ssh隧道

我正在寻找用于创建SSH隧道(在非标准端口上,例如3309)的正确语法,我可以在Mac OS X Yosemite终端上使用它,这将使我能够使用Sequel Pro连接到mysql容器在boot2docker中运行.

例如,我试过这个,

ssh -L3309:localhost:3306 docker@$(boot2docker ip)
Run Code Online (Sandbox Code Playgroud)

但它要求提供docker@192.168.59.103的密码,我不认为这是必要的,所以我认为这不太对.

谢谢!

mysql macos ssh docker

5
推荐指数
2
解决办法
3570
查看次数