2014-09-30 3 views
2

Я работаю над экспериментальным проектом, используя еще не выпущенный Laravel 5. Кажется, что недавняя фиксация эффективно нарушала ситуацию, а не дожидалась, когда вопрос будет исправлен Я бы предпочел продолжить использовать версию разработки, которую я знаю, чтобы работать, наблюдая за commit log. Мой текущий composer.json файл выглядит следующим образом (в соответствующем фрагменте кода):Tying composer.json для конкретного Laravel 5 SHA

"name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
    "laravel/framework": "~5.0",  
    "illuminate/html": "~5.0" 
    }, 

Я пытаюсь сделать это:

"name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project", 
    "require": { 
    "laravel/framework": "~5.0#cd37f40bba5dced6b1c30d313df2e46c5c33a62c",  
    "illuminate/html": "~5.0" 
    }, 

Per the docs Composer поддерживает способность связываться с определенным SHA однако, когда я запустить composer update я получаю сообщение:

[UnexpectedValueException]         

Could not parse version constraint ~5.0#cd37f40bba5dced6b1c30d313df2e46c5c33a62c: 
Invalid version string "~5.0#cd37f40bba5dced6b1c30d313df2e46c5c33a62c" 

конечно, я пробовал различные варианты (5.0#..., 5#... и т. Д.), Однако все они дают одно и то же сообщение об ошибке. Вход оценивается!

ответ

-1

Вздохнуть ответ ударил меня, как молния. https://github.com/laravel/laravel/commits/develop, очевидно, laravel/laravel совершает, и не laravel/framework коммиты.

Даже с моим нелепым надзором разрешено, мне пока остается неясным, как можно было бы блокировать конкретную версию laravel/laravel на данный момент. Есть обходные пути, чтобы быть уверенным, но я ищу путь, если такое решение существует.

Извините за крутящееся колесо @Wouter и @Marcin, и спасибо за вашу помощь.

1

Вместо этого вы должны использовать псевдоним ветки. Вы должны использовать 5.0-dev#cd37f40bba5dced6b1c30d313df2e46c5c33a62c в версии:

"name": "laravel/laravel", 
"description": "The Laravel Framework.", 
"keywords": ["framework", "laravel"], 
"license": "MIT", 
"type": "project", 
"require": { 
    "laravel/framework": "5.0-dev#cd37f40bba5dced6b1c30d313df2e46c5c33a62c",  
    "illuminate/html": "~5.0" 
}, 
+0

Хмм нет, не работает. Я обновил соответствующую строку, чтобы прочитать «laravel/framework»: «5.0-dev # cd37f40bba5dced6b1c30d313df2e46c5c33a62c», 'но получить сообщение' Невозможно разобрать ограничение версии 5.0-dev # cd37f40bba5dced6b1c30d313df2e46c5c33a62c: Неверная строка версии "5.0-dev # cd37f40bba5dced6b1c30d313df2e46c5c33a62c «'. Я использую самую последнюю версию Composer. – Jason

+0

@ Джейсон, если вы попробуете 'dev-master # cd37f40bba5dced6b1c30d313df2e46c5c33a62c'? –

+0

К сожалению, я получаю «cd37f40bba5dced6b1c30d313df2e46c5c33a62c» (история была переписана?), Восстановлена ​​путем проверки 49e3c77b518547bb661b1de4fda64a3ae0c5c505 «при попытке этого подхода, такой же результат, как и @ marcin-nabiałek ниже. Я отправил x в Laracasts, возможно, они могут пролить свет на проблему. Если так, я обязательно отчитаюсь. – Jason

0

Вы можете попробовать:

"laravel/framework": "5.0.x-dev#cd37f40bba5dced6b1c30d313df2e46c5c33a62c", 

вместо:

"laravel/framework": "~5.0#cd37f40bba5dced6b1c30d313df2e46c5c33a62c", 

и установить его с помощью:

composer install --prefer-source 

Мой точный composer.json Файл был:

{ 
    "name": "laravel/laravel", 
    "description": "The Laravel Framework.", 
    "keywords": ["framework", "laravel"], 
    "license": "MIT", 
    "type": "project",  
    "require": { 
     "laravel/framework": "5.0.x-dev#cd37f40bba5dced6b1c30d313df2e46c5c33a62c", 
     "illuminate/html": "~5.0" 
    }, 
    "config": { 
     "preferred-install": "dist" 
    }, 
    "minimum-stability": "dev" 
} 

Однако необходимо заметить, что во время установки отображается следующее сообщение:

Installing laravel/framework (dev-master cd37f40) 
    Cloning cd37f40bba5dced6b1c30d313df2e46c5c33a62c 
    cd37f40bba5dced6b1c30d313df2e46c5c33a62c is gone (history was rewritten?), recovered by checking out 5300b9eb19b5aeac8746835558419d274ee21621 

так, кажется, это обязательство не доступно, но я не эксперт композитор, так что я может быть неправильным.

EDIT

Я пробовал множество других настроек, но каждый раз, когда она либо выходит из строя или он получает другое обязательство, а не тот, который вы хотите.

+0

ОК фантастически. Пойдем, чтобы провести этот вечер сегодня вечером. Я смущен отсутствующим SHA, хотя? См. [Https://github.com/laravel/laravel/commits/develop](https://github.com/laravel/laravel/commits/develop), я специально пытаюсь подключиться к фиксации, идентифицированной сообщением «Используйте помощников». потому что «Упрощение вещей» совершает наиболее определенно ломает вещи. – Jason

+0

@ Джейсон Я пытался решить эту проблему, но я не знаю почему. Я пробовал вчера и сегодня много настроек, но все равно ничего –

Смежные вопросы