Ionic Tutorial не работает при установке каталога node-sass

Я пытаюсь запустить учебник Ionic в своей системе, выполнив следующую команду (как подробно описано на их странице учебника в своих документах:

sudo ionic start MyIonicProject tutorial

Однако учебник всегда терпит неудачу, когда пытается создать каталог node-sass в MyIonicProject:

gyp verb build dir attempting to create "build" dir: /Users/macdad/MyIonicProject/node_modules/node-sass/build
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/macdad/MyIonicProject/node_modules/node-sass/build'
gyp ERR! System Darwin 17.5.0
gyp ERR! command "/usr/local/bin/node" "/Users/macdad/MyIonicProject/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext = " "--libsass_cflags = " "--libsass_ldflags = " "--libsass_library = "
gyp ERR! cwd /Users/macdad/MyIonicProject/node_modules/node-sass
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.7.0
gyp ERR! not ok 
Build failed with error code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macdad/.npm/_logs/2018-08-02T01_58_32_378Z-debug.log
[ERROR] An error occurred while running subprocess npm.

        npm i exited with exit code 1.

        Re-running this command with the --verbose flag may provide more 
        information.

В разрешении отказывается, когда он пытается создать в каталоге node-sass/build, но как я могу установить разрешения для каталога, который еще не существует? Более ранняя ошибка при вызове mkdir выводит следующее:

Error: EACCES: permission denied, mkdir '/Users/imacuser/MyIonicProject/node_modules/node-sass/vendor'

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

Обновлено: добавление полного результата двух команд, предложенных @ZearaeZ, после применения привилегий чтения / записи ко всем вложенным элементам. Сборка по-прежнему не выполняется:

MacBook-Pro-6:~ macdad$ sudo npm rebuild node-sass --force
npm WARN using --force I sure hope you know what you are doing.
MacBook-Pro-6:~ macdad$ sudo ionic start MyIonicProject
? ./MyIonicProject exists. Overwrite? Yes

Let's pick the perfect starter template! ?

Starter templates are ready-to-go Ionic apps that come packed with everything 
you need to build your app. To bypass this prompt next time, supply template, 
the second argument to ionic start.

? Starter template: tabs
✔ Preparing directory ./MyIonicProject - done!
✔ Downloading and extracting tabs starter - done!
? Integrate your new app with Cordova to target native iOS and Android? Yes
> ionic integrations enable cordova --quiet
✔ Downloading integration cordova - done!
✔ Copying integrations files to project - done!
[OK] Integration cordova added!

Installing dependencies may take several minutes.

     ✨   IONIC  DEVAPP   ✨

 Speed up development with the Ionic DevApp, our fast, on-device testing mobile app

  -  ?   Test on iOS and Android without Native SDKs
  -  ?   LiveReload for instant style and JS updates

 -->    Install DevApp: https://bitly/ionic-dev-app    <--

────────────────────────────────────────────────────────────

> npm i
npm WARN deprecated [email protected]: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.

> [email protected] install /Users/macdad/MyIonicProject/node_modules/fsevents
> node install

[fsevents] Success: "/Users/macdad/MyIonicProject/node_modules/fsevents/lib/binding/Release/node-v57-darwin-x64/fse.node" already installed
Pass --update-binary to reinstall or --build-from-source to recompile

> [email protected] install /Users/macdad/MyIonicProject/node_modules/node-sass
> node scripts/install.js

Unable to save binary /Users/macdad/MyIonicProject/node_modules/node-sass/vendor/darwin-x64-57 : { Error: EACCES: permission denied, mkdir '/Users/macdad/MyIonicProject/node_modules/node-sass/vendor'
    at Object.fs.mkdirSync (fs.js:885:18)
    at sync (/Users/macdad/MyIonicProject/node_modules/mkdirp/index.js:71:13)
    at Function.sync (/Users/macdad/MyIonicProject/node_modules/mkdirp/index.js:77:24)
    at checkAndDownloadBinary (/Users/macdad/MyIonicProject/node_modules/node-sass/scripts/install.js:114:11)
    at Object.<anonymous> (/Users/macdad/MyIonicProject/node_modules/node-sass/scripts/install.js:157:1)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)
  errno: -13,
  code: 'EACCES',
  syscall: 'mkdir',
  path: '/Users/macdad/MyIonicProject/node_modules/node-sass/vendor' }

> [email protected] postinstall /Users/macdad/MyIonicProject/node_modules/uglifyjs-webpack-plugin
> node lib/post_install.js


> [email protected] postinstall /Users/macdad/MyIonicProject/node_modules/node-sass
> node scripts/build.js

Building: /usr/local/bin/node /Users/macdad/MyIonicProject/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [ '/usr/local/bin/node',
gyp verb cli   '/Users/macdad/MyIonicProject/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli   'rebuild',
gyp verb cli   '--verbose',
gyp verb cli   '--libsass_ext=',
gyp verb cli   '--libsass_cflags=',
gyp verb cli   '--libsass_ldflags=',
gyp verb cli   '--libsass_library=' ]
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "python2" in the PATH
gyp verb `which` failed Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/macdad/MyIonicProject/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/macdad/MyIonicProject/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/macdad/MyIonicProject/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed  python2 { Error: not found: python2
gyp verb `which` failed     at getNotFoundError (/Users/macdad/MyIonicProject/node_modules/which/which.js:13:12)
gyp verb `which` failed     at F (/Users/macdad/MyIonicProject/node_modules/which/which.js:68:19)
gyp verb `which` failed     at E (/Users/macdad/MyIonicProject/node_modules/which/which.js:80:29)
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/which/which.js:89:16
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/isexe/index.js:42:5
gyp verb `which` failed     at /Users/macdad/MyIonicProject/node_modules/isexe/mode.js:8:5
gyp verb `which` failed     at FSReqWrap.oncomplete (fs.js:152:21)
gyp verb `which` failed   stack: 'Error: not found: python2\n    at getNotFoundError (/Users/macdad/MyIonicProject/node_modules/which/which.js:13:12)\n    at F (/Users/macdad/MyIonicProject/node_modules/which/which.js:68:19)\n    at E (/Users/macdad/MyIonicProject/node_modules/which/which.js:80:29)\n    at /Users/macdad/MyIonicProject/node_modules/which/which.js:89:16\n    at /Users/macdad/MyIonicProject/node_modules/isexe/index.js:42:5\n    at /Users/macdad/MyIonicProject/node_modules/isexe/mode.js:8:5\n    at FSReqWrap.oncomplete (fs.js:152:21)',
gyp verb `which` failed   code: 'ENOENT' }
gyp verb check python checking for Python executable "python" in the PATH
gyp verb `which` succeeded python /usr/bin/python
gyp verb check python version `/usr/bin/python -c "import sys; print "2.7.10
gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
gyp verb get node dir no --target version specified, falling back to host node version: 8.11.3
gyp verb command install [ '8.11.3' ]
gyp verb install input version string "8.11.3"
gyp verb install installing version: 8.11.3
gyp verb install --ensure was passed, so won't reinstall if already installed
gyp verb install version is already installed, need to check "installVersion"
gyp verb got "installVersion" 9
gyp verb needs "installVersion" 9
gyp verb install version is good
gyp verb get node dir target node version installed: 8.11.3
gyp verb build dir attempting to create "build" dir: /Users/macdad/MyIonicProject/node_modules/node-sass/build
gyp ERR! configure error 
gyp ERR! stack Error: EACCES: permission denied, mkdir '/Users/macdad/MyIonicProject/node_modules/node-sass/build'
gyp ERR! System Darwin 17.5.0
gyp ERR! command "/usr/local/bin/node" "/Users/macdad/MyIonicProject/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext = " "--libsass_cflags = " "--libsass_ldflags = " "--libsass_library = "
gyp ERR! cwd /Users/macdad/MyIonicProject/node_modules/node-sass
gyp ERR! node -v v8.11.3
gyp ERR! node-gyp -v v3.8.0
gyp ERR! not ok 
Build failed with error code: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] postinstall: `node scripts/build.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] postinstall script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/macdad/.npm/_logs/2018-08-09T13_25_52_106Z-debug.log
[ERROR] An error occurred while running subprocess npm.

        npm i exited with exit code 1.

        Re-running this command with the --verbose flag may provide more 
        information.

Как я предложил, имеет смысл, что у меня не может быть разрешений в этом каталоге, поскольку каталог node-sass создается во время выполнения, и, если он не имеет автоматически привилегий чтения / записи, трудно добавить их, если они не существовать.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
662
1

Ответы 1

Сначала вам нужно назначить разрешения пользователям и группам.

  1. Выберите диск, папку или файл, затем выберите «Файл»> «Получить информацию».

  2. щелкните значок замка, чтобы разблокировать его, затем введите имя администратора и пароль.

  3. Щелкните пользователя или группу в столбце Имя, затем выберите привилегию. во всплывающем меню и предоставьте доступ для чтения и записи.

  4. Щелкните всплывающее меню «Действие» (значок Crog), затем выберите «Применить к вложенные предметы ».

После применения разрешения к вашему каталогу Запустите эту команду в каталоге вашего проекта.

sudo npm rebuild node-sass --force

Он принудительно перестроит node-sass в каталоге вашего проекта.

К сожалению, в самом начале не удается: Unable to save binary /Users/imacuser/MyIonicProject/node_modules/node-sass/vendor‌​/darwin-x64-57 : { Error: EACCES: permission denied, mkdir '/Users/imacuser/MyIonicProject/node_modules/node-sass/vendo‌​r'

jimiayler 08.08.2018 19:40

Это потому, что у вашего пользователя нет доступа для создания папки. Чтобы решить эту проблему, щелкните правой кнопкой мыши папку вашего проекта >> Нажмите "Получить информацию" >> Может быть значок блокировки, щелкните этот знак блокировки >> Rвведите имя администратора и пароль и нажмите "ОК" >> в нижней части диалогового окна, выберите "Читать" и доступ на запись для вашего пользователя >> нажмите на настройку (значок с изображением обрезки) >> Применить к вложенным элементам >> Нажмите на ОК. После этого sun та же команда "sudo npm rebuild node-sass --force".

ZearaeZ 09.08.2018 07:15

К сожалению, не сработало. Я собираюсь отредактировать свой исходный вопрос, чтобы добавить полный результат обеих команд после применения всех к вложенным элементам (что, как я думал, я сделал, но это был другой компьютер).

jimiayler 09.08.2018 18:28

Не могли бы вы попробовать это один раз: sudo npm install --unsafe-perm node-sass

ZearaeZ 09.08.2018 19:29

Это, безусловно, устанавливает его, но для запуска учебника необходимо перезаписать текущие файлы проекта в MyIonicProject, то есть переустановить каталог node-sass. В противном случае результат: Not erasing existing project in ./MyIonicProject. и возврат к подсказке. См. Третью и четвертую строки в коде после EDIT выше: MacBook-Pro-6:~ macdad$ sudo ionic start MyIonicProject ? ./MyIonicProject exists. Overwrite? Yes

jimiayler 10.08.2018 03:22

В вашей ошибке указано EACCES: permission denied, mkdir '/Users/macdad/MyIonicProject/node_modules/node-sass/build', что означает, что у вас нет разрешения на создание папки в этом месте. Щелкните правой кнопкой мыши свой проект, и там вы найдете значок замка, который щелкнет там. Введите имя пользователя и пароль вашего компьютера, чтобы разблокировать его. там вы найдете раздел разрешений, чтобы дать полное разрешение вашему пользователю. Дайте разрешение и снова заблокируйте этот значок. Попробуйте снова запустить npm rebuild node-sass --force, чтобы установить node-sass в каталог вашего проекта.

ZearaeZ 21.08.2018 10:17

Правильно - как отмечалось выше, каталог build создается в каталоге node-sass, который не существует, если я не запустил sudo ionic start MyIonicProject tutorial. Опять же, добавление разрешений для папки проекта не влияет на последующие папки, которые создаются во время выполнения с их собственными проблемами с разрешениями. Я отправлю этот вопрос на доску Ionic и сообщу, если получу какие-либо решения. Спасибо за вашу помощь.

jimiayler 22.08.2018 21:12

Другие вопросы по теме