Установите конкретную ветку из 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, и пусть сервер просто установит и заменит пакет.

Xin
источник
Есть ли шанс, что вы могли бы сделать это для пакета в рамках 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
user2643679
источник
0

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

npm i github:user/repo.git#version --save -D
Артём Курапов
источник
2
Добавьте некоторое объяснение с ответом о том, как этот ответ поможет ОП в исправлении текущей проблемы
ρяσѕρєя K
-3

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

Вот документация: https://docs.npmjs.com/cli/install

мена
источник
4
В документах четко #commitishnpm install <git remote url>
указано,