Ответ 1
По умолчанию NPM-зависимости вытягиваются из репозитория NPM. Авторы должны вручную загружать новые версии своего программного обеспечения в репозиторий NPM, поэтому версия "@latest
", размещенная на NPM, отличается от последней версии кода, который существует где угодно (например, на GitHub).
Согласно странице репозитория NPM на Sails, последняя версия, поддерживаемая NPM, составляет 0.9.16
, тогда как Версия GitHub - 0.10.0-rc3
.
Если вы хотите, чтобы ваш проект зависел от конкретной ветки или фиксации конкретного репозитория Git (вместо версий, размещенных в репозитории NPM), разработчики NPM включили явный механизм, позволяющий это, подробно описанный в Git URL-адресах в качестве зависимостей "в package.json
docs:
Git URL-адреса в качестве зависимостей
Git URL могут иметь следующий вид:
git://github.com/user/project.git#commit-ish git+ssh://[email protected]:project.git#commit-ish git+ssh://[email protected]/project.git#commit-ish git+http://[email protected]/project/blah.git#commit-ish git+https://[email protected]/project/blah.git#commit-ish
commit-ish
может быть любым тегом, ша или ветвью, который может быть предоставлен как аргументgit checkout
. По умолчанию используетсяmaster
.
На самом деле, проще использовать репозиторий Github.com в качестве зависимости:
Начиная с версии 1.1.65, вы можете ссылаться на URL-адреса GitHub как на
"foo": "user/foo-project"
. Например:{ "name": "foo", "version": "0.0.0", "dependencies": { "express": "visionmedia/express" } }
Итак, чтобы использовать репозиторий Sails GitHub, просто используйте:
"dependencies": {
"sails": "balderdashy/sails-mongo",
...
}
И чтобы использовать точное состояние Sails, как оно существует в GitHub от 28 апреля 2014 года, используйте:
"dependencies": {
"sails": "git://github.com/balderdashy/sails-mongo#b9cdce9a48",
...
}