我继承了一个用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) 我有一个从官方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
我整天都在尝试基于非常大的远程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 info
和git branch -a
我确实看到一个主分支。看来master可以正确地跟踪我想要的分支/生产。
我的问题是,我现在该如何创建一个 development
跟踪远程干线分支?
我尝试了十二种不同的方法,包括使用一些逻辑提取行来编辑.git / config:
fetch = branches/*:refs/remotes/svnrepo/branches/*
fetch = development/*:refs/remotes/svnrepo/trunk/* …
Run Code Online (Sandbox Code Playgroud) 我正在寻找用于创建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的密码,我不认为这是必要的,所以我认为这不太对.
谢谢!
docker ×2
boot2docker ×1
composer-php ×1
git ×1
git-svn ×1
macos ×1
mysql ×1
nfs ×1
osx-yosemite ×1
php ×1
ssh ×1
svn ×1
symfony ×1