Установите конкретную ветку из github с помощью Npm


164

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

В настоящее время они поддерживают две версии этого проекта, которые совместимы с версией 1 и 2 веб-пакета.

Я хотел бы установить версию 1 . Какую команду npm я должен использовать, чтобы установить это?

Я попытался использовать ниже один, но он не работает.

npm install git://github.com/shakacode/bootstrap-loader.git[#v1] --Save 

Ответы:


253

В команде, которую вы пробовали, есть дополнительные квадратные скобки.

Чтобы установить последнюю версию из v1ветки, вы можете использовать:

npm install git://github.com/shakacode/bootstrap-loader.git#v1 --save

5
если бы нам пришлось приложить конкретную версию. тогда как это будет с веткой?
Md_Zubair Ахмед

2
@Md_ZubairAhmed Имя ветки в его примере просто получило название «v1» - оно могло называться как-то иначе, например «my-branch», и вести себя так же.
Venryx

1
Если вы хотите установить определенный комит, вы можете сделать: npm install https://github.com/username/package#3d0a21ccГде 3d0a21ccнаходятся первые восемь символов хеша коммита. Я нашел этот ответ здесь
Дерк Ян Спилман

61

Просто сделать:

npm install username/repo#branchName --save

например (мое имя пользователя лучше)

npm i betimer/rtc-attach#master --save

// and what will appear in your package.json will be:
"rtc-attach": "github:betimer/rtc-attach#master"

Я также хочу упомянуть одну вещь: не стоит проверять в package.json, чтобы сервер сборки автоматически извлекал изменения. Вместо этого поместите npm i (первая команда) в команду build, и пусть сервер просто установит и заменит пакет.


Есть ли шанс, что вы могли бы сделать это для пакета в рамках monorepo?
Павел Разван Берг

@PaulRazvanBerg Да, вы можете сделатьnpm install <folder>
Тилак Рао

Не работает: npm в facebook / github.com/facebook/jest.git#master --save. Или вот это: npm i facebook/git@github.com: facebook / jest.git # master --save. Тоже не работает
донато

@ Донато Пожалуйста, следуйте схеме в примере
Синь

@ Xin это не работает: npm я facebook / jest # master - сохранить ERR! Не удается установить github: facebook / jest # b5c7092687a265e3f4f2ba6f9787e47e8c6b9d5e: отсутствует имя пакета
Donato

29

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

yarn add any-package@user-name/repo-name#branch-name

или за нпм

npm install --save any-package@user-name/repo-name#branch-name

Не работает Попробуйте следующее: npm i jest @ facebook / git @ github.com: facebook / jest.git # master
Донато

5

Другой подход заключается в добавлении следующей строки в package.jsonзависимости:

"package-name": "user/repo#branch"

Например:

"dependencies": {
    ... other dependencies ...

    "react-native": "facebook/react-native#master"
}

А потом сделать npm installилиyarn install


2

Я использую SSH для аутентификации моей учетной записи GitHub и установил пару зависимостей в моем проекте следующим образом:

"dependencies": {
  "<dependency name>": "git+ssh://git@github.com/<github username>/<repository name>.git#<release version | branch>"
}

2
Спасибо тебе за это!
Алексей Стрижак

1

Пришлось поставить URL в кавычки для его работы

npm install "https://github.com/shakacode/bootstrap-loader.git#v1" --save

0

Пробовал предлагать ответы, но работал только с этим префиксным подходом:

npm i github:user/repo.git#version --save -D

2
Добавьте некоторое объяснение с ответом о том, как этот ответ поможет ОП в исправлении текущей проблемы
ρяσѕρєя K

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.