Jak zainstalować pakiet npm bezpośrednio z GitHub?
Próba instalacji modułów z Githuba skutkuje:
ENOENT błąd na pakiecie.json.
Łatwo odtworzyć za pomocą express:
npm install https://github.com/visionmedia/express
wyrzuca błąd.
npm install express
działa.
Dlaczego nie mogę zainstalować z github?
Oto wyjście konsoli:
npm http GET https://github.com/visionmedia/express.git
npm http 200 https://github.com/visionmedia/express.git
npm ERR! not a package /home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/tmp.tgz
npm ERR! Error: ENOENT, open '/home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/package/package.json'
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <[email protected]>
npm ERR! System Linux 3.8.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "https://github.com/visionmedia/express.git"
npm ERR! cwd /home/guym/dev_env/projects_GIT/proj/somename
npm ERR! node -v v0.10.10
npm ERR! npm -v 1.2.25
npm ERR! path /home/guym/tmp/npm-32312/1373176518024-0.6586997057311237/package/package.json
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/guym/dev_env/projects_GIT/proj/somename/npm-debug.log
npm ERR! not ok code 0
13 answers
Ponieważ https://github.com/visionmedia/express
jest adresem URL strony internetowej, a nie modułem npm. Użyj tego smaku:
git+https://[email protected]/visionmedia/express.git
Lub ten smak jeśli potrzebujesz SSH:
git+ssh://[email protected]/visionmedia/express.git
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-09 23:37:30
Możesz również wykonać npm install visionmedia/express
Aby zainstalować z Github
Lub
npm install visionmedia/express#branch
Istnieje również wsparcie dla instalacji bezpośrednio z Gist, Bitbucket, Gitlab i wielu innych wyspecjalizowanych formatów. Zobacz też npm install
dokumentacja dla nich wszystkich.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-02 04:24:13
Jeśli git nie jest zainstalowany, możemy spróbować
npm install --save https://github.com/Amitesh/gulp-rev-all/tarball/master
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-02 06:43:11
Istnieje również npm install https://github.com/{USER}/{REPO}/tarball/{BRANCH}
, aby użyć innej gałęzi.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-18 09:38:00
Aktualizacja wrzesień 2016
Instalacja z vanilla https github Url teraz wydaje się działać:
npm install https://github.com/fergiemcdowall/search-index.git
EDIT: jest kilku użytkowników komentujących, że nie możesz tego zrobić dla wszystkich modułów, ponieważ czytasz z systemu kontroli źródła, który może zawierać nieprawidłowy/nieskompilowany / błędny kod. Aby było jasne (chociaż nie powinno to być oczywiste): biorąc pod uwagę, że kod w repo jest w stanie npm-usable , możesz teraz całkiem szczęśliwie zainstalować bezpośrednio z github
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-04-07 12:37:40
Aktualna topowa odpowiedź Petera Lyonsa nie ma związku z najnowszymi wersjami NPM. Na przykład użycie tego samego polecenia, które zostało skrytykowane w tej odpowiedzi, jest teraz w porządku.
$ npm install https://github.com/visionmedia/express
Jeśli nadal masz problemy, może to być problem z dowolnym pakietem, którego używałeś.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-02 16:08:49
Metody są teraz dość dobrze omówione w npm ' s install documentation , jak również w wielu innych odpowiedziach tutaj.
npm install git+ssh://[email protected]:<githubname>/<githubrepo.git[#<commit-ish>]
npm install git+ssh://[email protected]:<githubname>/<githubrepo.git>[#semver:^x.x]
npm install git+https://[email protected]/<githubname>/<githubrepo.git>
npm install git://github.com/<githubname>/<githubrepo.git>
npm install github:<githubname>/<githubrepo>[#<commit-ish>]
Jednak coś, co ostatnio się zmieniło, to dodanie skryptu prepare
w miejsce skryptu prepublish
.{[11] } rozwiązuje to długotrwały problem, w którym Moduły zainstalowane przez git nie uruchamiały skryptu prepublish
, a tym samym nie wykonywały kroków budowania, które występują, gdy moduł jest publikowany w rejestrze npm. Zobacz też https://github.com/npm/npm/issues/3055 .
Oczywiście autorzy modułów będą musieli zaktualizować swój pakiet.json, aby użyć nowej dyrektywy prepare
, aby to zaczęło działać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-20 04:01:09
Zainstaluj go bezpośrednio:
npm install visionmedia/express
Alternatywnie możesz dodać "express": "github:visionmedia/express"
do sekcji "dependencies"
pliku package.json
, a następnie uruchomić:
npm install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-06 05:24:54
Ogólna forma składni to
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish> | #semver:<semver>]
Czyli w Twoim przypadku będzie to
npm install git+ssh://[email protected]/visionmedia/express.git
Z npmjs docs:
Npm install:
Instaluje pakiet od hostowanego dostawcy Gita, klonując go za pomocą git. Dla pełnego ZDALNEGO ADRESU URL git, tylko ten adres URL będzie próbowany.
<protocol>://[<user>[:<password>]@]<hostname>[:<port>][:][/]<path>[#<commit-ish>
| #semver:] jest jednym z git, git+SSH, Git+http, git + https lub Git + file.
Jeśli podano#, zostanie on użyty do sklonowania dokładnie tego / align = "left" / Jeśli commit-owski ma format # semver:, może być dowolny poprawny zakres semver lub dokładna Wersja, A npm będzie szukał wszelkie tagi lub refy pasujące do tego zakresu w zdalnym repozytorium, podobnie jak to byłoby dla zależności rejestru. If no # or
SemVer: jest określony, wtedy używany jest master.
Jeśli repozytorium korzysta z podmodułów, będą one sklonowany również.
Jeśli instalowany pakiet zawiera skrypt prepare, jego zależności i devDependencies zostaną zainstalowane, a prepare skrypt zostanie uruchomiony, zanim pakiet zostanie spakowany i zainstalowany.
Następujące zmienne środowiska git są rozpoznawane przez npm i będą być dodane do środowiska podczas uruchamiania git:
- GIT_ASKPASS
- GIT_EXEC_PATH
- GIT_PROXY_COMMAND
- GIT_SSH
- GIT_SSH_COMMAND
- GIT_SSL_CAINFO GIT_SSL_NO_VERIFY
Zobacz stronę podręcznika git dla szczegóły.
Przykłady:
npm install git+ssh://[email protected]:npm/npm.git#v1.0.27 npm install git+ssh://[email protected]:npm/npm#semver:^5.0 npm install git+https://[email protected]/npm/npm.git npm install git://github.com/npm/npm.git#v1.0.27 GIT_SSH_COMMAND='ssh -i ~/.ssh/custom_ident' npm install git+ssh://[email protected]:npm/npm.git npm install
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-06 00:12:24
Możesz też zrobić
npm i alex-cory/fasthacks
Lub
npm i github:alex-cory/fasthacks
W zasadzie:
npm i user_or_org/repo_name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-27 23:54:52
UPDATE Teraz możesz zrobić: npm install git://github.com/foo/bar.git
lub w package.json
:
"dependencies": {
"bar": "git://github.com/foo/bar.git"
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-01-26 00:06:21
Możesz bezpośrednio zainstalować repo Githuba za pomocą npm install
, Jak to:
npm install https://github.com/futurechallenger/npm_git_install.git --save
Uwaga: w repo, które zostanie zainstalowane przez polecenie npm:
- może trzeba mieć dist folder w repo, zgodnie z komentarzem @ Dan Dascalescu.
- zdecydowanie musisz mieć Pakiet.json in you repo! o czym zapomniałem dodać.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-07 03:05:12
Spróbuj tego polecenia
npm install github:[Organisation]/[Repository]#[master/BranchName] -g
To polecenie zadziałało na mnie.
npm install github:BlessCSS/bless#3.x -g
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-01 07:59:32