Проблема сводила меня с ума, в базе данных npm есть пакет, но у него есть некоторые ошибки, которые уже исправлены в github, как я могу использовать фиксированную версию (версия github)?
Npm для установки пакетов из локальной позиции, а не из Интернета?
Ответ 1
Edit:
Вы можете установить непосредственно из репозитория GitHub, даже используя имя пользователя GitHub и имя репозитория:
npm install LearnBoost/socket.io
Вы также можете добавить <commit-ish>
, указав, например, хеш фиксации или тег версии, например:
npm install LearnBoost/socket.io#1.7.x
Без протокола это будет интерпретироваться как git://github.com/LearnBoost/socket.io
. Вы также можете префикс репо с gitlab:
, gist:
или bitbucket:
, соответственно. Для получения дополнительной информации см. Использование git URL-адресов в качестве зависимостей.
Вы можете установить прямо из URL-адреса, например:
npm install https://github.com/LearnBoost/socket.io/tarball/master
URL-адрес Github можно найти в разделе "Загрузки" на любой странице проекта. Выберите ссылку "Загрузить как tar.gz".
Или вы можете установить tarball:
npm install foo.tar.gz
См. npm install (1).
Edit:
Я должен упомянуть, что это работает одинаково хорошо в файлах package.json
. Укажите URL вместо версии в ваших зависимостях, например:
...
"dependencies": {
"foo": "http://example.com/foo.tar.gz",
"bar": "1.2.x",
...
}
Ответ 2
Другое временное решение, получить проект github и использовать npm link
(http://npmjs.org/doc/link.html), чтобы связать локальную папку, полученную с помощью git в папку node_modules
в вашем собственном проекте. В любом случае, вам придется подождать, пока разработчик проекта сделает npm publish
.
Ответ 3
Либо добавьте модуль как подмодуль git (используя git подмодуль) в ваш проект или сообщите разработчику модуля обновить версию и запустить npm publish
для обновления репозитория npm.
При использовании способа субмодуля, помните, что вы не можете обновить ссылку с помощью команд npm
.