Ошибка «Пожалуйста, попробуйте запустить эту команду снова как Root / Administrator» при попытке установить LESS
111706 просмотра
10 ответа
Я пытаюсь установить 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
Источник
Размещён: 12.11.2019 09:40
Ответы (10)
69 плюса
Re Explosion Pills "Установка может запускать произвольные сценарии, и запуск с sudo может быть чрезвычайно опасным!"
Похоже, использование sudo - неправильный способ сделать это.
Msgstr "Изменить владельца файлов в вашей папке / usr / local на текущего пользователя:"
sudo chown -R $USER /usr/local
Затем запустите установку
node install -g less
Проверять, выписываться:
- npm выдает ошибку без sudo
- https://aralbalkan.com/scribbles/npm-install-g-please-try-running-this-command-again-as-root-administrator/
- http://foohack.com/2010/08/intro-to-npm/#what_no_sudo
31 плюса
Честно говоря, это плохой совет 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:5724 плюса
Просто приготовьтесь sudo
к началу вашей команды. Как указывалось ранее, при установке выполняются некоторые сценарии, которые могут быть опасными, но я видел, что глобальная установка очень помогает и намного проще.
Бегать sudo npm install -g less
13 плюса
Это определенно поможет. Ответь сам нпм. https://docs.npmjs.com/getting-started/fixing-npm-permissions
Ниже извлечено из URL для вашего удобства.
Вариант 1. Измените разрешение на каталог по умолчанию для npm.
Найдите путь к каталогу npm:
npm config get prefix
Для многих систем это будет / usr / local.
ВНИМАНИЕ: Если отображаемый путь - просто / usr, переключитесь на Вариант 2, или вы испортите свои разрешения.
Измените владельца каталогов npm на имя текущего пользователя (ваше имя пользователя!):
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
Это изменяет права доступа к подпапкам, используемым npm и некоторыми другими инструментами (lib / node_modules, bin и share).
Вариант 2: Изменить каталог по умолчанию для npm на другой каталог
Создайте каталог для глобальных установок:
mkdir ~/.npm-global
Сконфигурируйте npm для использования нового пути к каталогу:
npm config set prefix '~/.npm-global'
Откройте или создайте файл ~ / .profile и добавьте следующую строку:
export PATH=~/.npm-global/bin:$PATH
Вернитесь в командную строку и обновите системные переменные:
source ~/.profile
Тест: Загрузите пакет глобально без использования sudo.
`npm install -g jshint`
Вместо шагов 2-4 вы можете использовать соответствующую переменную ENV (например, если вы не хотите изменять ~/.profile
):
NPM_CONFIG_PREFIX=~/.npm-global
Вариант 3: используйте менеджер пакетов, который позаботится об этом за вас
Если вы делаете новую установку Node на Mac OS, вы можете полностью избежать этой проблемы, используя менеджер пакетов Homebrew. Доморощенный устанавливает вещи из коробки с правильными разрешениями.
brew install node
5 плюса
Я продолжал иметь эту проблему, потому что окна устанавливали мою node_modules
папку только для чтения. Убедитесь, что вы сняли этот флажок.
2 плюса
Вот что мне нужно было сделать, чтобы начать работу с компилятором Less, чтобы избежать проблем, упомянутых в OP:
- Установите node.js
- Установите NPM с терминалом:
sudo npm install npm -g
- Установите компилятор Less с терминалом:
sudo npm install -g less
(sudo имеет все значение) - Если вы используете PHPstorm: перейдите в «Preferences…> Plugins» и установите NodeJS -plugin (может понадобиться «просмотреть репозитории», чтобы найти его) и перезапустите PHPstorm (по запросу)
- После этого перейдите к плагинам еще раз: установите компилятор Less (может понадобиться «просмотреть репозитории», чтобы найти его) и перезапустите PHPstorm (по запросу)
- После того, как вы настроили проект, перейдите в «Настройки> Инструменты> Filewatchers» и добавьте «Меньше». Путь («Программы») должен выглядеть примерно так:
/usr/local/bin/lessc
- Убедитесь, что Отслеживать только корневые файлы отмечен в настройках 6.
1 плюс
У npm есть официальная страница об исправлении разрешений npm, когда вы получаете ошибку EACCES (Ошибка: Доступ). На странице даже есть видео.
Автор: Thomas David Kehoe Размещён: 10.03.2016 03:00Вы можете решить эту проблему, используя один из двух вариантов:
- Измените разрешение на каталог по умолчанию для npm.
- Измените каталог по умолчанию для npm на другой каталог.
0 плюса
В моем случае мне нужно было обновить версию 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:350 плюса
У меня тоже есть проблема. Вот что я сделал:
- Деинсталлированные nodeJs из Панели управления> Удалить программу
- В папке user // appData / roaming -> npm и npm-cache есть две папки. Удалить оба из них.
Теперь перейдите на сайт nodeJS и установите снова. Выберите 2-ую опцию в опциях установки (т.е. пакет npm). Установите это. Ваша проблема должна быть решена уже сейчас.
Автор: Deadpool Размещён: 28.09.2017 10:480 плюса
Я знаю, что это старые вопросы, но ни одно из решений не показалось хорошей практикой, поэтому я описываю, как я решил эту проблему:
Попытался решить эту проблему с помощью Homebrew, но он также устанавливал узел, в /usr/local directory
котором снова возникла EACCES
ошибка.
Пришлось использовать менеджер версий, такой как nvm, для получения дополнительной информации см. Официальное руководство npm .
Для различных операционных систем .
nvm устанавливает узел и его модули в HOME FOLDER пользователя, тем самым решая EACCES
проблемы.
Вопросы из категории :
- node.js Удалить пустые элементы из массива в Javascript
- node.js Как мне избежать строки для команды оболочки в узле?
- node.js Могу ли я использовать jQuery с Node.js?
- node.js Как отлаживать приложения Node.js?
- node.js Как автоматически перезагрузить файлы в Node.js?
- node.js Запись файлов в Node.js
- linux Как отправить файл в виде вложения электронной почты с помощью командной строки Linux?
- linux Как разделить два 64-битных числа в ядре Linux?
- linux Изучение файлов Беркли БД из CLI
- linux Как передать пароль на scp?
- linux Как показать все общие библиотеки, используемые исполняемыми файлами в Linux?
- linux Кроссплатформенное пространство, оставшееся на томе с использованием Python
- less Косые черты (`/`) в значениях CSS при использовании Less (например, в сокращенной записи `font`)
- less Есть ли SASS.js? Что-то вроде LESS.js?
- less Немедленный выбор ребенка в LESS
- less CSS Framework, который автоматически обрабатывает префиксы поставщиков?
- less Twitter Bootstrap + Меньше
- less Передача переменной LESS в JavaScript