Ошибка: EACCES: разрешение запрещено, отсоединение - при запуске $ ionic start - PullRequest
0 голосов
/ 11 мая 2018

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

Я использую ОС: Linux Mint 18 Cinnamon 64 bit

Версия узла: v10.0.0 (устанавливается из NVM без рут-доступа)

Версия NPM: 5.6.0 (устанавливается из NVM без рут-доступа)

Я следую этому уроку: https://coursetro.com/posts/code/36/Installing-Ionic-2-&-Starting-a-Project

Я устанавливаю ионный по:

$ npm install -g ionic cordova

Возвращает это:

home/brian/.nvm/versions/node/v10.0.0/bin/cordova -> /home/brian/.nvm/versions/node/v10.0.0/lib/node_modules/cordova/bin/cordova
/home/brian/.nvm/versions/node/v10.0.0/bin/ionic -> /home/brian/.nvm/versions/node/v10.0.0/lib/node_modules/ionic/bin/ionic
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.3 (node_modules/ionic/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.3: wanted {“os”:“darwin”,“arch”:“any”} (current: {“os”:“linux”,“arch”:“x64”})

    cordova@8.0.0
    ionic@3.20.0
    added 677 packages in 16.679s

Затем я проверил, установлен ли $ идион-кордова и ionic -v, и он возвращает

3.20.0

Полагаю, это означает, что ionic установлен, несмотря на сообщение WARN.

Затем я пытаюсь запустить следующий шаг учебника:

$ ionic start firstProject blank

Затем появляется эта ошибка:

? The directory firstProject contains file(s) that could conflict. Would you like to overwrite the directory with this new project? Yes
:heavy_multiplication_x: Creating directory ./firstProject - failed!
Error: EACCES: permission denied, unlink ‘/home/brian/firstProject/.editorconfig’

Я пытался дать разрешение на этот путь:

$ sudo chown -R brian /home/brian/firstProject/.editorconfig

Но, тем не менее, та же ошибка сохраняется, когда я запускаю $ ionic start firstProject blank

Я также попытался запустить команду, используя root $ sudo ionic start firstProject, но она возвращает

sudo: ionic: command not found.

Я попытался установить ionic без глобальных атрибутов, но в результате он не может быть установлен из-за этого npm. ПРЕДУПРЕЖДЕНИЕ ФАКУЛЬТАТИВНОЕ Пропуск ОПЦИОНАЛЬНАЯ ЗАВИСИМОСТЬ: fsevents@1.2.3

Кто-нибудь смог решить эту проблему? Любая помощь будет оценена. Спасибо!

1 Ответ

0 голосов
/ 12 мая 2018

Спасибо за ответ Nidhin, я только что решил проблему.

Я понял, что папка firstProject была заблокирована.Поэтому моя рекомендация, если вы хотите использовать node и npm, лучше установить его с помощью NVM, чтобы не устанавливать его с root-доступом .


Позвольте мне рассказать, как воссоздатьпроблема

Поэтому, прежде чем я на самом деле устанавливаю Node и NPM из NVM (Node Version Manager), я сначала устанавливаю их из диспетчера пакетов, используя sudo (root-доступ), используя эту команду ( Я следовал по этой ссылке ):

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

В результате все мои следующие команды npm должны использовать sudo (для доступа с правами root).

Итак, когда я запускаю эту команду ( после этого урока *)1018 *):

$ npm install -g ionic cordova

Мне не удалось установить его:

npm WARN checkPermissions Missing write access to /usr/lib/node_modules

Мне нужно использовать root-доступ для установки:

$ sudo npm install -g ionic cordova

Что тогдазаставляет ionic и cordova всегда запускаться с правами суперпользователя - я думаю, вам следует избегать этого!

Итак, продолжайте отсюда, я запускаю следующую команду после урока:

$ ionic start firstProject blank

, которая затемделает папку / firstProject / требует root-доступа (см. изображение в приложении).И продолжать использовать sudo не очень хорошая идея, так как иногда ionic запускает другую команду во время выполнения своего процесса. Папка заблокирована

В заключение, установка Node и NPM с использованием sudo не очень хорошая идея.Я пока не знаю, есть ли веская причина использовать sudo, если вы знаете, почему, пожалуйста, ответьте на комментарий.


Итак, следуя моему примеру,

Я действительно сделалэто правильно:

  1. Установить Node и NPM из NVM
  2. Установить ionic и cordova без sudo (root-доступ)
  3. Просто запустить команду ионного запуска, например, ionic start firstProjectпустой;, но сначала убедитесь, что не существует заблокированной папки с таким именем (firstProject).

Надеюсь, это поможет решить подобные проблемы.

...