Porównaj ceny domen i usług IT, sprzedawców z całego świata

Jak zainstalować npm-g na samodzielnym serwerze


Muszę zainstalować „globalną” aplikację npm na samodzielnym serwerze.
Zainstalowanie zwykłej aplikacji jest łatwe:
npm install

a następnie spakuj pliki wynikowe. Albo ręcznie, albo za pomocą

pakiet npm

.
Jak jednak mogę zainstalować globalną aplikację (która ma jakiś skrypt instalacyjny), taką jak

na zawsze

bez internetu?
npm install -g forever

Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Spróbuj

npmbox
https://github.com/arei/npmbox, to jest nowa nazwa npmzip, która pozwoli Ci zainstalować samodzielne pakiety npm w jednym pliku
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz zainstalować rzeczy z pliku tar, wyewidencjonuj

z dokumentacją
http://npmjs.org/doc/install.html
npm. Możesz znaleźć adres URL z paczki forever za pomocą
npm view forever dist.tarball
i pobrać go. Spróbuj czegoś takiego:
curl -so forever.tar.gz `npm view forever dist.tarball 2>/dev/null`
npm install ./forever.tar.gz -g

Ale być może będziesz musiał to zrobić również dla wszystkich zależności. Może jest lepszy sposób, ale to właśnie znalazłem podczas moich poszukiwań.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Cóż ... po całym dniu próbowania go z powyższymi linkami (npmbox lub offline-npm) wymyśliłem coś znacznie prostszego. Muszę powiedzieć dzięki npmbox.
Chodzi o to, aby zapisać pamięć podręczną z instancji dostępnej online, a następnie użyć jej w trybie offline.

W samochodzie z internetem

:
1-wyczyść pamięć podręczną npm:
npm cache wyczyść
2-zainstaluj pakiet, powiedzmy jego x.y.z:
npm install -g ** package.x.y.z **
3-skopiuj pamięć podręczną do folderu ... nazwijmy to, jak chcesz (zakładam, że pamięć podręczna npm znajduje się w folderze głównym, ale nie jestem tego pewien):
cp -R/.npm/* * */cache- dowolny-folder **

W samochodzie bez internetu

:
4-Przenieś ten folder cache-cokolwiek do instancji bez internetu, a następnie wyczyść pamięć podręczną i zainstaluj z nią (nie powiem ci, jak skopiować folder :)
npm cache clear
npm install --global --cache **/cache-whatever-folder** --optional --cache-min 99999999999 --shrinkwrap false **package.x.y.z**
Zrobione przez
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


ZAINSTALUJ PM2 OFFLINE

:-

Sprawdzono na node-v6.10.3 i Npm-3.10.10 na RHEL-7


Jedź do samochodu z połączeniem internetowym

:-
#npm install -g npmbox
#npmbox npmbox
#scp npmbox.npmbox root@offline-server-ip:.


Jedź do samochodu bez połączenia z Internetem

:-
#ssh root@offline-server-ip 
#tar --no-same-owner --no-same-permissions -xvzf npmbox.npmbox
#npm install --global --cache ./.npmbox.cache --optional --cache-min 99999999999 --shrinkwrap false npmbox


Jedź do samochodu z połączeniem internetowym

:-
#npm install pm2 -g
#npmbox pm2
#scp pm2.npmbox root@offline-server-ip:.


Idź do maszyny bez podłączenia do Internetu

:-
#npmunbox pm2.npmbox --global
#pm2 ls
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

ja stworzyłem

offline-npm
https://www.npmjs.com/package/offline-npm
aby wszystkie zależności zostały zainstalowane w czysty sposób. W przypadku modułów bez używania node-gyp wszystko powinno działać zgodnie z opisem.
Jeśli potrzebujesz
node-gyp
(który jest zwykle instalowany online), rozważ skopiowanie ~/.node-gyp na tę samodzielną maszynę.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Próbować

npmzip
https://npmjs.org/package/npmzip
npm install -g npmzip
npmzip <package>

Otrzymasz archiwum w bieżącym katalogu
Można to przenieść na maszynę docelową i:
npmunzip <tarball>
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Wypisz zależności w
bundledDependencies
w swoim package.json, a następnie uruchom
npm pack
, aby wygenerować archiwum. Przenieś to na inny komputer i albo
npm install & < tarball & >
, albo po prostu zhakuj go ręcznie.
https://github.com/npm/npm/issues/1349
https://github.com/npm/npm/issues/1349
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Za pomocą

Przędza
https://yarnpkg.com/en/
:
  • Na komputerze w Internecie (ustawianie lokalizacji lokalnej pamięci podręcznej):
    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
  • Na komputerze autonomicznym (konfigurowanie lokalizacji lokalnej pamięci podręcznej):
    yarn config set yarn-offline-mirror ~/yarn-offline-mirror/
  • Na komputerze autonomicznym dowiedz się, gdzie znajduje się globalna lokalizacja instalacji:
    yarn global bin
    (Lub ustaw go za pomocą
    yarn config set prefix & < file_path & >
    )
  • Na komputerze offline dodaj go do swojej ścieżki. Np .:
    echo 'export PATH=$PATH:'"$(yarn global bin)" >> ~/.bashrc source ~/.bashrc # reload
  • Z internetu pobierz
    forever
    z zależnościami:
    mkdir new-cli-forever/cd new-cli-forever/yarn add forever
    Następnie skopiuj
    new-cli-forever/yarn.lock
    i
    ~/yarn-offline-mirror/
    do maszyny offline. (
    rm -rf new-cli-forever/
    jest teraz w porządku).
  • Na komputerze autonomicznym zainstaluj
    forever
    z lokalnej pamięci podręcznej:
    cp/path/to/imported/yarn.lock .cp -n/path/to/imported/yarn-offline-mirror/* ~/yarn-offline-mirror/yarn global add --offline foreverrm -f ./yarn.lock

Aby uzyskać więcej informacji, zobacz mój post tutaj:

https://assafmo.github.io/2018 ... .html
https://assafmo.github.io/2018 ... .html
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Na komputerze lokalnym lub dowolnym komputerze z połączeniem internetowym wykonaj następujące kroki
npm install npm-bundle -g
npm install forever -g

Teraz przejdź do
cd/usr/local/lib/node_modules/forever
i zrób
npm-bundle

Utworzy plik
.tgz
. Teraz
scp/ftp
ten plik
.tgz
na samodzielny serwer i wykonaj
npm install forever -g

Połączyć:

ten blog
https://fabianlee.org/2016/10/ ... ndle/
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:


npmbox jest przestarzały
>Użyj polecenia
npm pack
(

npm docs
https://docs.npmjs.com/cli/pack.html), nie musisz niczego instalować.

Jedna paczka
>
Jeśli potrzebujesz tylko jednego pakietu (np.
forever
), możesz uruchomić:
<pre class="lang-sh prettyprint-override">
npm pack forever
to polecenie wyodrębni go do pamięci podręcznej, a następnie skopiuje plik archiwum do bieżącego katalogu roboczego jako -.tgz

Następnie z folderu, w którym utworzyłeś pakiet, instalujesz go za pomocą:
<pre class="lang-sh prettyprint-override">
npm install -g ./forever-x.y.z.tgz


Cały projekt
>
Jeśli chcesz, aby cały projekt był zainstalowany w trybie offline, włącz poperty do
package.json
o nazwie Bundledenenchies i wymieniaj wszystkie potrzebne zależności w tej dziedzinie.
// package.json"dependencies": {
"archiver": "^2.1.1",
"axios": "^0.16.2",
"body-parser": "^1.18.3"
},
"bundleDependencies": {
"archiver": "^2.1.1",
"axios": "^0.16.2",
"body-parser": "^1.18.3"
}

Następnie uruchom
npm pack
.
Utworzy plik
.tgz
dla całego projektu i zależności.
Wystarczy skopiować go na samodzielny serwer i rozpakować.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się