Как обновить npm до последней версии?

У меня возникли проблемы с npm в коробке для Бродяг, которую я устанавливаю. Я заметил, что в npm версия несколько устарела, поэтому я хотел проверить проблему с помощью последней версии.

Насколько я понимаю, вы должны иметь возможность обновлять npm с помощью npm install -g npm, но команда не оказывает никакого влияния на npm используется:

vagrant@box:~$ npm -v1.3.10vagrant@box:~$ sudo npm install -g npmnpm http GET https://registry.npmjs.org/npmnpm http 200 https://registry.npmjs.org/npmnpm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgznpm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.jsnpm@2.1.12 /usr/local/lib/node_modules/npmvagrant@box:~$ npm -v1.3.10

Я также пробовал использовать n (как было предложено в Как я могу обновить свой NodeJS до последней версии?) для обновления, но это не влияет ни на npm ни node:

vagrant@box:~$ node -vv0.10.25vagrant@box:~$vagrant@box:~$ sudo npm install -g n/usr/bin/n -> /usr/lib/node_modules/n/bin/nn@1.2.9 /usr/lib/node_modules/nvagrant@box:~$ sudo n stable     install : v0.10.33       mkdir : /usr/local/n/versions/0.10.33       fetch : http://nodejs.org/dist/v0.10.33/node-v0.10.33-linux-x64.tar.gz   installed : v0.10.33vagrant@box:~$ node -vv0.10.25vagrant@box:~$ npm -v1.3.10

Что мне нужно сделать, чтобы обновить npm до последней версии?

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок

Я все еще не понимаю почему?, но я должен бежать npm install -g npm дважды чтобы это возымело желаемый эффект:

vagrant@box:~$ npm -v1.3.10vagrant@box:~$ sudo npm install -g npmnpm http GET https://registry.npmjs.org/npmnpm http 200 https://registry.npmjs.org/npmnpm http GET https://registry.npmjs.org/npm/-/npm-2.1.12.tgznpm http 200 https://registry.npmjs.org/npm/-/npm-2.1.12.tgz/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.jsnpm@2.1.12 /usr/local/lib/node_modules/npmvagrant@box:~$ npm -v1.3.10vagrant@box:~$ sudo npm install -g npm/usr/bin/npm -> /usr/lib/node_modules/npm/bin/npm-cli.jsnpm@2.1.12 /usr/lib/node_modules/npmvagrant@box:~$ npm -v2.1.12

Когда вы впервые делаете npm install -g npm, оболочка (Bash) будет искать npm на своем пути найди /usr/bin/npm устанавливается системным пакетом, а затем используйте его для установки новой версии npm. Новая версия будет установлена в /usr/local/bin/npm.

Теперь ваш путь должен иметь /usr/local/bin/ до /usr/bin/, так что вы могли бы подумать , что теперь он получит обновленную версию в /usr/local/bin/, верно? Неправильный.

Bash будет КЭШИРОВАТЬ пути к исполняемым файлам после их первого поиска, поэтому, когда вы говорите npm во 2-й раз он по-прежнему использует кэшированную версию, которую он впервые обнаружил как /usr/bin/npm.

Чтобы сказать Bash очистить этот кэш и снова просмотреть путь, вы должны выполнить hash -r.

После установки npm и, сделав это, моя оболочка приняла новую версию npm просто отлично.

Спасибо

Вы можете обновить nodejs с помощью самого npm, PPA или вручную.

нпм:

Проверьте текущую версию, которая у вас есть:

node -v

Следующее действие очищает ваш кэш.

sudo npm cache clean -f

Устанавливать n

sudo npm install -g n

Вы можете указать ему установить определенную версию следующим образом:

sudo n 0.8.11

Или просто скажите ему установить последнюю стабильную версию. И то, и другое может занять некоторое время.

sudo n stable

Чтобы проверить, действительно ли он обновлен, запустите:

node -v

PPA:

Другой вариант - установить его с помощью PPA от крис-леа;

sudo add-apt-repository ppa:chris-lea/node.js  sudo apt-get update  sudo apt-get install nodejs

Этот PPA Поддерживает следующие дистрибутивы: Utopic (14.10), Trusty (14.04), Saucy (13.10), Raring (13.04), Quantal (12.10), Precise (12.04), Oneiric (11.10), Natty (11.04), Lucid (10.04).

Вручную:

Вы всегда можете обновить его вручную загрузка последнюю версию и установите ее самостоятельно!


Ссылка:

Обновите NPM до последней версии одной командой

Чтобы обновить или обновить версию вашего npm, просто введите terminal:

sudo npm install npm@latest -g

Как упоминалось в нижнем колонтитуле Документация NPM

Большую часть времени я не могу обновить его с помощью глобальной команды. Однако то, что сработало для меня, - это обновление пакета из источника всех системных узлов-модулей:

Узнайте, где установлен npm, и перейдите в эту папку

# Below command shows the destination (remove sed pipe to see the full path of npm-cli)whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{19\}$//'# Go in there and install it manually. In my case it was the folder below... # NOTE: on mac its in /usr/local/libcd /usr/libsudo npm install npm@latest

Узрите мощную универсальную линейку для всех (особенно для ленивых людей).

cd `whereis npm | cut -c 6- | xargs readlink -f | sed 's/.\{18\}$//'`; cd ..; sudo npm install npm@latest

Любой трюк, который вы делаете, не используйте Git, я рекомендую запускать их в Composer terminal. Это наверняка сработает. Это сделало для меня то, что npm install npm -g.

Я не вижу никаких причин переустанавливать что-то, что уже готово, просто используйте обновление -g встроенный в менеджер пакетов для обновления самого себя:

$ npm -v2.15.1$ sudo npm update -g npm/usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.jsnpm@3.10.9 /usr/local/lib/node_modules/npm$ npm -v3.10.9

Убедитесь, что глобальный флаг - г находится перед упаковками. В прошлом у меня были проблемы с тем, что npm не регистрировал флаг после списка пакетов.

Для обновления npm вам необходимо обновить nodejs до последней версии, которая включает в себя npm

В debian stretch и jessie используют этот скрипт :

#install prerequisitesapt-get install apt-transport-https curl git lsb-release -y#Install NodeJS from external repositoriesDISTRO=$(lsb_release -c -s)if [ "$DISTRO" == "stretch" ]then  DISTRO="jessie"fiif curl -f "https://deb.nodesource.com/node_7.x/dists/$DISTRO/Release" >/dev/nullthen  curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -  echo "deb https://deb.nodesource.com/node_7.x $DISTRO main" > /etc/apt/sources.list.d/nodesource.list  echo "deb-src https://deb.nodesource.com/node_7.x $DISTRO main" >> /etc/apt/sources.list.d/nodesource.list  apt-get update  # comment out the following line, if you installed nodejs 7 already (check with `apt-cache policy nodejs`)  apt-get remove nodejs nodejs-legacy npm  apt-get install nodejs -yelse  echo -e "Your distribution is not supported by NodeJS. \nYou have to install a recent NodeJS version (>=4) manually. "fi

В Ubuntu вы можете использовать этот скрипт из https://deb.nodesource.com:

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -sudo apt-get install -y nodejs

сначала ознакомьтесь с источником по адресу https://github.com/nodesource/distributions/blob/master/deb/setup_7.x

Обновление до версии nodejs v0.12.7

# Note the new setup script name for Node.js v0.12curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -# Then install with:sudo apt-get install -y nodejs

Источник: Node.js v0.12, io.js , и репозитории Linux NodeSource | nodesource.com

Я столкнулся с этой проблемой. Моя текущая версия npm была 3.3.12 но я пытался sudo npm install npm -g, sudo npm update npm -g .. ничего не получалось.. пока я npm --version Я всегда получаю 3.3.12. Я искал каталоги в своей Ubuntu 15.04 и нашел две версии npm в разных каталогах.

  • v3.3.12 в /usr/local/lib/node_modules/npm
  • v3.6 в /usr/lib/node_modules/npm

Итак, я сделал копию версии 3.3.12 с mv npm npm_3312 в то время как я был в более старом каталоге npm. Тогда я это сделал sudo cp -r npm /usr/local/lib/node_modules/ пока я был в каталоге '/usr/lib/node_modules'.. Я сделал свой npm --version и я получил 3.6.0

:D

Вы уверены, что доступна более новая версия? Потому что для меня 1.3.10 - это последняя версия, доступная в официальном репозитории.

@RegisteredUser: В моем первом списке выходных данных даже написано “2.1.12”, что является последней версией: Releases · npm/npm · GitHub

Попробуйте, $ sudo npm install npm -g

@vembutech: Я так и сделал. Если только вы не предполагаете, что -g следует поместить где-то еще в командной строке.

какой нпм очень полезен. Старый npm находился в /usr/local/bin и имеет приоритет над новым `/usr/bin’

когда вы используете nvm, все это не является проблемой. поскольку это для каждого пользователя и для каждого проекта, все просто работает

Попробуй пройти бота-учителя. Он научит тебя Linux в виде игры: Курсы Linux и DevOPS Бесплатный урок