Я действительно пытался установить nodejs вместе с npm на моем Ubuntu 17.04. я загрузил версию Linux из nodejs.org и создал софт-ссылку для узла и nodejs. после проверки версии nodejs он показывает установленную версию, и я в порядке с ней.
теперь я попытался сделать то же самое для npm. Я попытался создать soft link для npm.
sudo ln -sf /mnt/7A46BE1454633621/softwares/programming/frontend/nodejs/lib/node_modules/npm/bin/npm
/usr/bin/npm
Я не знаю, какая ссылка я создал правильно или нет. но после запуска команды npm -v я вижу версию 5.0.3, которую я пытаюсь установить. версия показана, но прямо под ней я вижу что-то вроде этого.
5.0.3
npm update check failed │
│ Try running with sudo or get access │
│ to the local update config store via │
│ sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
То же самое для меня, но не похоже на версию (я использую npm 5.5.1). Фиксация прав на ~/.config сделала трюк для меня:
sudo chown -R $USER:$(id -gn $USER) ~/.config
Я полагаю, это связано с проблемой владельца с ~/.config/configstore/update-notifier-npm.json.
Я изменил владельца
~/configstore
и
~/configstore/update-notifier-npm.json
на $ USER: $ USER.
Я предполагаю, что запуск npm с sudo создал этот файл. В моей системе, по крайней мере, мы находим это:
$ env | grep -e HOME= -e "^USER="
USER=craig
HOME=/home/craig
$ sudo env | grep -e HOME= -e "^USER="
HOME=/home/craig
USER=root
Поэтому, если sudo npm закодирован для создания ~/configstore/update-notifier-npm.json, он сделает это обычным домашним каталогом пользователя. Это создает проблему при последующем запуске npm без sudo, который также хочет читать и, возможно, писать ~/configstore/update-notifier-npm.json. По какой-то причине разрешения равны 600.
Будьте осторожны, когда chown и chmod - все, что находится под ~/.config, там может быть что-то чувствительное.
Моя версия npm 5.0.3, и у меня такая же проблема, когда я использую любую команду npm:
Команда работает нормально, но этот код не отображается очевидная причина. Я обновил с 5.0.3 до 5.2.0 с помощью следующих команд:
sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
npm install -g npm или npm i -g npm.
Теперь npm работает нормально.
То же самое для меня, но не похоже на версию (я использую npm 5.5.1). Фиксация прав на ~/.config сделала трюк для меня:
sudo chown -R $USER:$(id -gn $USER) ~/.config
Я полагаю, это связано с проблемой владельца с ~/.config/configstore/update-notifier-npm.json.
Я изменил владельца
~/configstore
и
~/configstore/update-notifier-npm.json
на $ USER: $ USER.
Я предполагаю, что запуск npm с sudo создал этот файл. В моей системе, по крайней мере, мы находим это:
$ env | grep -e HOME= -e "^USER="
USER=craig
HOME=/home/craig
$ sudo env | grep -e HOME= -e "^USER="
HOME=/home/craig
USER=root
Поэтому, если sudo npm закодирован для создания ~/configstore/update-notifier-npm.json, он сделает это обычным домашним каталогом пользователя. Это создает проблему при последующем запуске npm без sudo, который также хочет читать и, возможно, писать ~/configstore/update-notifier-npm.json. По какой-то причине разрешения равны 600.
Будьте осторожны, когда chown и chmod - все, что находится под ~/.config, там может быть что-то чувствительное.
Моя версия npm 5.0.3, и у меня такая же проблема, когда я использую любую команду npm:
Команда работает нормально, но этот код не отображается очевидная причина. Я обновил с 5.0.3 до 5.2.0 с помощью следующих команд:
sudo chown -R $USER:$(id -gn $USER) /home/sagar/.config
npm install -g npm или npm i -g npm.
Теперь npm работает нормально.