2013-08-26 2 views
0

Когда я удаляю массив devDependencies, trimArguments устанавливается отлично. Если я дам ему dev-зависимость, он, кажется, полностью игнорирует trimArguments. Никакого предупреждения, просто молчания. Мой package.json заключается в следующем:Почему npm не устанавливает зависимости, когда у меня есть элемент внутри devDependencies?

{"name":"asyncFuture", 
"version":"0.1.0", 
"main": "asyncFuture.js", 
"dependencies":[ 
    "git+https://[email protected]/fresheneesz/trimArguments.git#578afe0fa6ce96797c36e018bf5bae31b508a02f" 
], 
"devDependencies": [ 
    "git+https://[email protected]/fresheneesz/deadunit.git#8395e438492267b94ef51ee4f94a6d6c8f1c15da" 
], 
"repository": { 
    "type": "git", 
    "url": "git://github.com/fresheneesz/asyncFuture" 
} 
} 

Это НАЯ ошибка или я недоразумение как использовать это? NPM версия 1.3.8 на Windows 7 32-бит

UPDATE

Это выглядит как НПМ игнорирует любой пакет за исключением последнего, даже если я ставлю все зависимости под массив «зависимостей» (и избавиться от devDependencies). Это должно быть ошибкой. Я собираюсь подать билет.

ответ

4

При использовании URLs as dependencies:

Вы можете указать [...] URL вместо диапазона версии.

Отмечая, что dependencies являются:

указан с простым хэшем имени пакета к версии диапазона.

Вам все равно необходимо указать имя пакета даже при использовании URL (Git).

"dependencies": { 
    "trimArguments": "git+https://[email protected]/fresheneesz/trimArguments.git#578afe0fa6ce96797c36e018bf5bae31b508a02f" 
    }, 
    "devDependencies": { 
    "deadunit": "git+https://[email protected]/fresheneesz/deadunit.git#8395e438492267b94ef51ee4f94a6d6c8f1c15da" 
    } 
+0

Если мне нужно указать имя пакета, я бы ожидал, что он не будет правильно устанавливать любой из них. Он правильно устанавливает один из них, а не другой. Но я попробую это как работа. Благодарю. –

+0

Это похоже на работу:) - Я все еще думаю, что это ошибка в npm (и я написал для нее билет) –

2

dependencies и devDependencies не являются массивами; это карты.

https://npmjs.org/doc/json.html#dependencies

+0

Кроме того, что я использую их в качестве массивов для любого другого проекта, и они прекрасно работают ... –

+0

Пожалуйста, покажите одну опубликованную пакет НПМ, который делает это успешно. Как один из поддерживающих npm, это кажется неправдоподобным. – Domenic

+0

npm install https://github.com/fresheneesz/examplePackage/tarball/16ef50a7861e776724458781d5dcd169976b4f8f - вы можете использовать пакет или запустить examplePackage/test/test.js –

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