Я пытаюсь запустить учебник 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 создается во время выполнения, и, если он не имеет автоматически привилегий чтения / записи, трудно добавить их, если они не существовать.





Сначала вам нужно назначить разрешения пользователям и группам.
Выберите диск, папку или файл, затем выберите «Файл»> «Получить информацию».
щелкните значок замка, чтобы разблокировать его, затем введите имя администратора и пароль.
Щелкните пользователя или группу в столбце Имя, затем выберите привилегию. во всплывающем меню и предоставьте доступ для чтения и записи.
Щелкните всплывающее меню «Действие» (значок Crog), затем выберите «Применить к вложенные предметы ».
После применения разрешения к вашему каталогу Запустите эту команду в каталоге вашего проекта.
sudo npm rebuild node-sass --force
Он принудительно перестроит node-sass в каталоге вашего проекта.
Это потому, что у вашего пользователя нет доступа для создания папки. Чтобы решить эту проблему, щелкните правой кнопкой мыши папку вашего проекта >> Нажмите "Получить информацию" >> Может быть значок блокировки, щелкните этот знак блокировки >> Rвведите имя администратора и пароль и нажмите "ОК" >> в нижней части диалогового окна, выберите "Читать" и доступ на запись для вашего пользователя >> нажмите на настройку (значок с изображением обрезки) >> Применить к вложенным элементам >> Нажмите на ОК. После этого sun та же команда "sudo npm rebuild node-sass --force".
К сожалению, не сработало. Я собираюсь отредактировать свой исходный вопрос, чтобы добавить полный результат обеих команд после применения всех к вложенным элементам (что, как я думал, я сделал, но это был другой компьютер).
Не могли бы вы попробовать это один раз: sudo npm install --unsafe-perm node-sass
Это, безусловно, устанавливает его, но для запуска учебника необходимо перезаписать текущие файлы проекта в MyIonicProject, то есть переустановить каталог node-sass. В противном случае результат: Not erasing existing project in ./MyIonicProject. и возврат к подсказке. См. Третью и четвертую строки в коде после EDIT выше: MacBook-Pro-6:~ macdad$ sudo ionic start MyIonicProject ? ./MyIonicProject exists. Overwrite? Yes
В вашей ошибке указано EACCES: permission denied, mkdir '/Users/macdad/MyIonicProject/node_modules/node-sass/build', что означает, что у вас нет разрешения на создание папки в этом месте. Щелкните правой кнопкой мыши свой проект, и там вы найдете значок замка, который щелкнет там. Введите имя пользователя и пароль вашего компьютера, чтобы разблокировать его. там вы найдете раздел разрешений, чтобы дать полное разрешение вашему пользователю. Дайте разрешение и снова заблокируйте этот значок. Попробуйте снова запустить npm rebuild node-sass --force, чтобы установить node-sass в каталог вашего проекта.
Правильно - как отмечалось выше, каталог build создается в каталоге node-sass, который не существует, если я не запустил sudo ionic start MyIonicProject tutorial. Опять же, добавление разрешений для папки проекта не влияет на последующие папки, которые создаются во время выполнения с их собственными проблемами с разрешениями. Я отправлю этот вопрос на доску Ionic и сообщу, если получу какие-либо решения. Спасибо за вашу помощь.
К сожалению, в самом начале не удается:
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/vendor'