Я пытаюсь обновить свою версию узла до последней стабильной версии.
Используя этот ресурс я смог:
sudo npm install n -g
Но когда я пытаюсь
sudo npm n stable
я получаю:
sudo: n: command not found
Если я запускаю n stable
, команда присутствует:
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required
Удивительно, Ваш npm
установка имеет глобальный префикс в папке, названной npm
на Вашем корневом каталоге, это означает, что любой пакет, установленный с эти -g
флаг, установит на этой папке.
можно изменить эту папку на любую папку, которая находится на sudo
безопасный путь, выполняющий эти шаги:
Графический путь:
.npmrc
с Вашим любимым текстовым редактором. Находят строку на том файле с этим содержанием:
prefix=/home/<your_username>/npm
/home/<your_username>/npm
безопасным путем (такой как /usr/local/bin
). Когда-то заменил, это будет похоже на это:
prefix=/usr/local/bin
sudo npm install n -g
Терминальный путь:
Выполнение эта команда:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
Я нашел решение, которое работало на меня:
sudo -E env "PATH=$PATH" n stable
Найденный им здесь: https://stackoverflow.com/a/29400598/861615
Я знаю, что это - форум Ubuntu, но я уверен, что это поможет кому-то с той же проблемой на ароматах RHEL, которого Погугленный, чтобы здесь любить я сделал. Возможно, это также работает в Ubuntu.
ln -s /usr/local/bin/n /usr/bin/n
Я нашел решение, которое работало на меня. Используйте nvm
пакет для загрузки последнего узла.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash
export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
nvm -v
, если она не видит nvm
установленный, запускает скрипт ниже command -v nvm
nvm install node
node -v
Чтобы постараться не портить с .npm-global
, папка как отметила @Edson Юниором Horacio, и на основе @pohest ответ , вот то, как я зафиксировал его:
sudo ln -s /home/<username>/.npm-global/bin/n /usr/local/bin/n
sudo n --version # test it
Как примечание, это, вероятно, не будет работать, если Вы не выполнили шаги npm для изменение глобального каталога по умолчанию .
Это означает, что у Вас нет N установленным в Вас, система, N является находящимся в npm менеджером по версии узла. Можно установить его путем установки сначала некоторой версии узла и затем выполнения
sudo npm install -g n
теперь можно установить версию на узле с помощью n команду
sudo n stable
Вышеупомянутое установит последний стабильный вирион
sudo n lates
это установит последнюю версию
можно также установить определенную версию путем определения версии как ниже
sudo n 10.16.0
Я встретился с той же проблемой, это - то, как можно решить ее:
npm config get prefix
// get -> ${myhome}/.npm-global
Включите следующие строки .zshrc
# Specify `n` to put the version of `node` in the `.n` directory.
export N_PREFIX=${myhome}/.npm-global/.n
# Make `nman` command work
export PATH=${myhome}/.npm-global/bin:$PATH
# Add this line to use `node -v` command
export PATH=${myhome}/.npm-global/.n/bin:$PATH
Ссылка: GitHub - tj/n: управление Версией узла
Примечание редактора: Этот ответ был первоначально записан на китайском языке и был переведен и отредактировал сетевые инструменты использования. Для наблюдения исходного ответа отошлите Пересмотр № 1
Ни один из приведенных выше ответов не помог мне. Однако это произошло:
sudo /usr/local/bin/bin/n stable