Відповіді:
З документів npm :
git://github.com/<user>/<project>.git#<branch>
git://github.com/<user>/<project>.git#feature\/<branch>
З версією NPM 1.1.65 ви можете це зробити:
<user>/<project>#<branch>
git://github.com/<user>/<project>.git#feature/blah
працювали, але <user>/<project>.git#feature/blah
не ... можливо, їх регекс потрібно вдосконалити, щоб врахувати feature/blah
. Це був npmv1.4.28
коментар @ @ dantheta:
Станом на npm 1.1.65, URL Github може бути більш стислим користувачем / проектом. npmjs.org/doc/files/package.json.html Ви можете приєднати гілку, як користувач / проект # гілка
Тому
"babel-eslint": "babel/babel-eslint",
Або для тегу v1.12.0 на jscs:
"jscs": "jscs-dev/node-jscs#v1.12.0",
Зауважте, якщо ви будете використовувати npm -save, ви отримаєте довший git
З https://docs.npmjs.com/files/package.json#git-urls-as-dependitions
Git URL-адреси як залежності
URL-адреси Git можуть мати форму:
git: //github.com/user/project.git#commit-ish git + ssh: // user @ hostname: project.git # commit-ish git + ssh: //user@hostname/project.git#commit- ish git + http: //user@hostname/project/blah.git#commit-ish git + https: //user@hostname/project/blah.git#commit-ish
Команда-ish може бути будь-яким тегом, sha або гілкою, які можуть бути подані як аргумент для git checkout. За замовчуванням - головний.
URL-адреси GitHub
З версії 1.1.65 ви можете посилатися на URL-адреси GitHub як просто "foo": "user / foo-project". Так само, як і в URL-адресах git, може бути включений суфікс на виконання комісії. Наприклад:
{"name": "foo",
"version": "0.0.0",
"залежності": {"express": "visionmedia / express", "mocha": "visionmedia / mocha # 4727d357ea"}}
Якщо ви хочете використовувати devel
або feature
відділення, або ви не опублікували певний пакет до реєстру NPM, чи не можете, оскільки це приватний модуль, ви можете вказати на git://
URI замість номера версії у вашому package.json
:
"dependencies": {
"public": "git://github.com/user/repo.git#ref",
"private": "git+ssh://git@github.com:user/repo.git#ref"
}
#ref
Частина НЕ є обов'язковим, і це може бути гілка (наприклад master
), тег (наприклад 0.0.1
) або часткової або повної фіксації ідентифікатор.
В останній версії NPM ви можете просто зробити:
npm install gitAuthor/gitRepo#tag
Якщо РЕПО є дійсним пакетом NPM, він буде автоматично псевдонім у package.json як:
{
"NPMPackageName": "gitAuthor/gitRepo#tag"
}
Якщо ви можете додати це до відповіді @justingordon, зараз немає необхідності в ручному згладжуванні!
Якщо це комусь допомагає, я спробував усе вище (https w / token mode) - і все одно нічого не вийшло. У мене немає помилок, але нічого не буде встановлено в node_modules або package_lock.json. Якби я змінив маркер або будь-яку літеру у назві репо або ім'я користувача тощо - я отримав би помилку. Тож я знав, що маю право маркер і ім’я репо.
Я нарешті зрозумів, що це тому, що назва залежності, яку я мав у своєму пакеті.json, не збігалася з ім'ям у package.json репо, яке я намагався витягнути. Навіть npm install --verbose не говорить про те, що немає проблем. Це, здається, ігнорує залежність без помилки.
user/project
. npmjs.org/doc/files/package.json.html Ви можете прикріпити гілку типуuser/project#branch