Jak Mogę zmienić wersję npm używając nvm?
Używam NVM do instalacji najnowszych wersji nodeJS do pracy z węzłami. Działa całkowicie dobrze w przypadku instalowania oddzielnych wersji i przełączania się między nimi. Instaluje również najnowszą wersję NPM w każdym lokalnym .../ bin folder wraz z węzłem binarnym. Jednak wydaje się, że nie ma sposobu, aby przełączyć wersję NPM, której używam (a przynajmniej nie mogę tego rozgryźć).
Jedynym rozwiązaniem, jakie przychodzi mi do głowy, jest usunięcie pliku binarnego, który domyślnie (który jest NPM, który został zainstalowany, gdy po raz pierwszy zainstalowany węzeł z NVM), a w jego miejsce umieścić najnowszy npm binarny. Zastanawiam się jednak, czy są jakieś lepsze sposoby, aby to zrobić.
10 answers
Ponad trzy lata po pierwszym zadaniu tego pytania, wydaje się, że odpowiedź jest teraz o wiele prostsza. Wystarczy zaktualizować wersję zainstalowaną przez nvm, która mieszka w ~/.nvm/versions/node/[your-version]/lib/node_modules/npm
.
Właśnie zainstalowałem node 4.2.2, który jest dostarczany z npm 2.14.7, ale chcę użyć npm 3. Więc zrobiłem:
cd ~/.nvm/versions/node/v4.2.2/lib
npm install npm
Spokojnie!
I tak, powinno to działać dla każdego modułu, nie tylko npm, który chcesz być "globalny" dla konkretnej wersji node.
EDIT 1: w najnowszej wersji {[2] } jest inteligentny i instaluje Moduły na powyższej ścieżce zamiast globalnej ścieżki systemu.
EDIT 2, kolejne dwa lata i sześć wersji węzłów później: jak zauważono w nowszej odpowiedzi, istnieje teraz polecenie:
Nvm posiada teraz polecenie aktualizacji npm. To
nvm install-latest-npm
lubnpm install --latest-npm
.
Dzięki philraj
za wskazanie tego w komentarzu.
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-24 16:46:43
Nvm nie obsługuje npm.
Więc jeśli chcesz zainstalować node 0.4.x (od którego zależy wiele pakietów) i używać NPM, nadal można używać npm 1.0.x.
Install node 0.6.x (który pochodzi z npm 1.1.x) i zainstalować nvm z npm:
npm install nvm
. ~/nvm/nvm.sh
Install node 0.4.x z nvm:
nvm install v0.4.12
nvm use v0.4.12
Zainstaluj npm używając install.sh (zwróć uwagę na param -L
aby podążać za każdym przekierowaniem):
curl -L https://npmjs.org/install.sh | sh
To wykryje węzeł 0.4.12 i zainstaluje npm 1.0.106 w twoim ~/NVM/v0.4. 12 / lib / node_modules folder i utwórz dowiązanie symboliczne dla nvm
~/nvm/v0.4.12/bin/npm -> ../lib/node_modules/npm/bin/npm-cli.js
Jeśli spróbujesz uruchomić npm, nadal będzie to powodować błąd, ale jeśli wykonasz nvm use v0.4.12
ponownie, powinno 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
2015-10-15 22:16:40
Zmiana wersji npm na oss opartym na Linuksie nie jest jeszcze prostym procesem jednego polecenia. Zrobiłem następujące, aby przejść z powrotem do starszej wersji npm. Powinno to działać, aby każda wersja npm działała. Najpierw zainstaluj wersję npm, której chcesz użyć:
sudo npm install -g [email protected]
Usuń łącze sym w /usr / local / bin /
sudo rm /usr/local/bin/npm
Odtworzenie łącza sym przy użyciu żądanej wersji npm, którą zainstalowałeś
sudo ln -s /usr/bin/[email protected] /usr/local/bin/npm
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
2015-11-13 01:58:41
Nvm posiada teraz polecenie aktualizacji npm. nvm install-latest-npm
LUB npm install --latest-npm
.
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-03-09 16:55:51
npm install [email protected] -g
npm install [email protected] -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-09-05 20:53:40
Patrząc na www.npmjs.com/install.sh znalazłem sposób na zainstalowanie określonej wersji poprzez ustawienie zmiennej środowiskowej
export npm_install="2.14.14"
Następnie uruchom skrypt pobierania, jak opisano w npmjs.com :
curl -L https://www.npmjs.com/install.sh | sh
Jeśli pominiesz ustawienie zmiennej npm_install, zainstaluje ona wersję oznaczoną jako latest
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
2015-12-07 10:54:42
W systemie windows uruchom terminal jako administrator(w przypadku problemów z uprawnieniami, jak miałem). Następnie użyj określonej wersji węzła (powiedzmy 7.8.0) przez
nvm use 7.8.0
Następnie zaktualizuj swój npm do żądanej konkretnej wersji przez
npm install -g [email protected]
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-12 06:01:17
Jestem na Windowsie i nie mogłem nic z tego zrobić. Ciągle dostaję Błędy o plikach, które przeszkadzają. To jednak zadziałało:
cd %APPDATA%\nvm\v8.10.0 # or whatever version you're using
mv npm npm-old
mv npm.cmd npm-old.cmd
cd node_modules\
mv npm npm-old
cd npm-old\bin
node npm-cli.js i -g npm@latest
I bum, wracam do biznesu.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-07-09 13:40:44
Drobne zmiany w powyższych instrukcjach, zadziałały dla mnie. (MacOS Sierra 10.12.6)
npm install -g [email protected]
rm /usr/local/bin/npm
ln -s ~/.npm-packages/bin/npm /usr/local/bin/npm
npm --version
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-12-28 05:16:09
A co z npm i -g npm
? Próbowałeś też to uruchomić?
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-10-30 16:32:33