Ошибка «Пожалуйста, попробуйте запустить эту команду снова как Root / Administrator» при попытке установить LESS

node.js linux less

111706 просмотра

10 ответа

370 Репутация автора

Я пытаюсь установить LESS на мою машину и уже установил узел. Однако, когда я ввожу "node install -g less", я получаю следующую ошибку и не уверен, что делать?

FPaulMAC:bin paul$ npm install -g less
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/less' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! cwd /usr/local/bin
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/less
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/less' }
npm ERR! not ok code 0
Автор: Stack Overflow Источник Размещён: 28.10.2014 03:48

Ответы (10)


31 плюса

156765 Репутация автора

Честно говоря, это плохой совет npm. Установка может запускать произвольные сценарии, и запуск с ней sudoможет быть чрезвычайно опасным! Вы можете сделать это, sudo npm install -g lessчтобы установить его глобально, но вместо этого я бы рекомендовал обновить ваши настройки npm:

#~/.npmrc
prefix=~/.npm_modules

Затем вы можете обновить свой путь:

#~/.bashrc or ~/.zshrc, etc.
export PATH=$PATH:$HOME/.npm_modules/bin

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

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

Автор: Explosion Pills Размещён: 28.10.2014 03:57

69 плюса

958 Репутация автора

Re Explosion Pills "Установка может запускать произвольные сценарии, и запуск с sudo может быть чрезвычайно опасным!"

Похоже, использование sudo - неправильный способ сделать это.

Msgstr "Изменить владельца файлов в вашей папке / usr / local на текущего пользователя:"

sudo chown -R $USER /usr/local

Затем запустите установку

node install -g less

Проверять, выписываться:

Автор: aturc Размещён: 31.12.2014 05:00

24 плюса

263 Репутация автора

Просто приготовьтесь sudoк началу вашей команды. Как указывалось ранее, при установке выполняются некоторые сценарии, которые могут быть опасными, но я видел, что глобальная установка очень помогает и намного проще.

Бегать sudo npm install -g less

Автор: Viscount Wathika Размещён: 15.12.2015 08:29

2 плюса

616 Репутация автора

Вот что мне нужно было сделать, чтобы начать работу с компилятором Less, чтобы избежать проблем, упомянутых в OP:

  1. Установите node.js
  2. Установите NPM с терминалом: sudo npm install npm -g
  3. Установите компилятор Less с терминалом: sudo npm install -g less(sudo имеет все значение)
  4. Если вы используете PHPstorm: перейдите в «Preferences…> Plugins» и установите NodeJS -plugin (может понадобиться «просмотреть репозитории», чтобы найти его) и перезапустите PHPstorm (по запросу)
  5. После этого перейдите к плагинам еще раз: установите компилятор Less (может понадобиться «просмотреть репозитории», чтобы найти его) и перезапустите PHPstorm (по запросу)
  6. После того, как вы настроили проект, перейдите в «Настройки> Инструменты> Filewatchers» и добавьте «Меньше». Путь («Программы») должен выглядеть примерно так:/usr/local/bin/lessc
  7. Убедитесь, что Отслеживать только корневые файлы отмечен в настройках 6.
Автор: cptstarling Размещён: 28.12.2015 05:08

1 плюс

3392 Репутация автора

У npm есть официальная страница об исправлении разрешений npm, когда вы получаете ошибку EACCES (Ошибка: Доступ). На странице даже есть видео.

Вы можете решить эту проблему, используя один из двух вариантов:

  1. Измените разрешение на каталог по умолчанию для npm.
  2. Измените каталог по умолчанию для npm на другой каталог.
Автор: Thomas David Kehoe Размещён: 10.03.2016 03:00

0 плюса

9 Репутация автора

В моем случае мне нужно было обновить версию npm с 5.3.0 → 5.4.2.

Прежде чем я смог использовать это -- npm i -g npm .. мне нужно было запустить две команды, которые отлично решили мою проблему. Весьма вероятно, что это даже решит вашу проблему.

Шаг 1: sudo chown -R $USER /usr/local

Шаг 2: npm install -g cordova ionic

После этого вы должны обновить свой npm до последней версии

Шаг 3: npm i -g npm

Тогда тебе пора. Надеюсь, что это решает вашу проблему. Ура !!

Автор: Sunny Bhadani Размещён: 24.09.2017 03:35

0 плюса

2548 Репутация автора

У меня тоже есть проблема. Вот что я сделал:

  1. Деинсталлированные nodeJs из Панели управления> Удалить программу
  2. В папке user // appData / roaming -> npm и npm-cache есть две папки. Удалить оба из них.

Теперь перейдите на сайт nodeJS и установите снова. Выберите 2-ую опцию в опциях установки (т.е. пакет npm). Установите это. Ваша проблема должна быть решена уже сейчас.

Автор: Deadpool Размещён: 28.09.2017 10:48

13 плюса

734 Репутация автора

Это определенно поможет. Ответь сам нпм. https://docs.npmjs.com/getting-started/fixing-npm-permissions

Ниже извлечено из URL для вашего удобства.


Вариант 1. Измените разрешение на каталог по умолчанию для npm.

  1. Найдите путь к каталогу npm:

    npm config get prefix

Для многих систем это будет / usr / local.

ВНИМАНИЕ: Если отображаемый путь - просто / usr, переключитесь на Вариант 2, или вы испортите свои разрешения.

  1. Измените владельца каталогов npm на имя текущего пользователя (ваше имя пользователя!):

    sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}

Это изменяет права доступа к подпапкам, используемым npm и некоторыми другими инструментами (lib / node_modules, bin и share).


Вариант 2: Изменить каталог по умолчанию для npm на другой каталог

  1. Создайте каталог для глобальных установок:

    mkdir ~/.npm-global

  2. Сконфигурируйте npm для использования нового пути к каталогу:

    npm config set prefix '~/.npm-global'

  3. Откройте или создайте файл ~ / .profile и добавьте следующую строку:

    export PATH=~/.npm-global/bin:$PATH

  4. Вернитесь в командную строку и обновите системные переменные:

    source ~/.profile

Тест: Загрузите пакет глобально без использования sudo.

`npm install -g jshint`

Вместо шагов 2-4 вы можете использовать соответствующую переменную ENV (например, если вы не хотите изменять ~/.profile):

NPM_CONFIG_PREFIX=~/.npm-global


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

Если вы делаете новую установку Node на Mac OS, вы можете полностью избежать этой проблемы, используя менеджер пакетов Homebrew. Доморощенный устанавливает вещи из коробки с правильными разрешениями.

brew install node

Автор: Shamal Karunarathne Размещён: 31.10.2017 05:52

5 плюса

5630 Репутация автора

Я продолжал иметь эту проблему, потому что окна устанавливали мою node_modulesпапку только для чтения. Убедитесь, что вы сняли этот флажок.

введите описание изображения здесь

Автор: Adam Hughes Размещён: 14.11.2017 05:46

0 плюса

898 Репутация автора

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

Попытался решить эту проблему с помощью Homebrew, но он также устанавливал узел, в /usr/local directoryкотором снова возникла EACCESошибка.

Пришлось использовать менеджер версий, такой как nvm, для получения дополнительной информации см. Официальное руководство npm .

Для различных операционных систем .

nvm устанавливает узел и его модули в HOME FOLDER пользователя, тем самым решая EACCESпроблемы.

Автор: Rick Размещён: 29.05.2018 11:54
Вопросы из категории :
32x32