У меня новый проект, который начался с
react-native init my_awesome_app
и следовал инструкциям, чтобы добавить act-native-sass-transformer .
Когда я это сделаю,
react-native run-ios
происходит сбой со следующей ошибкой
Looking for JS files in
/Users/saravanabalagi/Projects/JS/my_awesome_app
Loading dependency graph, done.
Loading dependency graph...(node:35251) UnhandledPromiseRejectionWarning: Error: Missing binding /Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/node-sass/vendor/darwin-x64-72/binding.node
Node Sass could not find a binding for your current environment: OS X 64-bit with Node.js 12.x
Found bindings for the following environments:
- OS X 64-bit with Node.js 10.x
This usually happens because your environment has changed since running `npm install`.
Run `npm rebuild node-sass` to download the binding for your current environment.
at module.exports (/Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/node-sass/lib/binding.js:15:13)
at Object.<anonymous> (/Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/node-sass/lib/index.js:14:35)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
at Module.load (internal/modules/cjs/loader.js:643:32)
at Function.Module._load (internal/modules/cjs/loader.js:556:12)
at Module.require (internal/modules/cjs/loader.js:683:19)
at require (internal/modules/cjs/helpers.js:16:16)
at Object.<anonymous> (/Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/react-native-sass-transformer/index.js:1:12)
at Module._compile (internal/modules/cjs/loader.js:776:30)
(node:35251) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:35251) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
error: bundling failed: TypeError: Cannot read property 'transformFile' of undefined
at /Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/metro/src/Bundler.js:83:34
at Generator.next (<anonymous>)
at asyncGeneratorStep (/Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/metro/src/Bundler.js:14:24)
at _next (/Users/saravanabalagi/Projects/JS/my_awesome_app/node_modules/metro/src/Bundler.js:34:9)
at processTicksAndRejections (internal/process/task_queues.js:85:5)
BUNDLE [ios, dev] ./index.js ░░░░░░░░░░░░░░░░ 0.0% (0/1), failed.
Однако интересно то, что с одной из следующих команд
yarn run start
yarn start --reset-cache
react-native start
Metro-компоновщик работает успешно! (Конечно, это только запускает упаковщик, не устанавливает приложение, поэтому сейчас я устанавливаю приложение, используя react-native run-ios
, завершаю и затем выполняю react-native start
)
Я точно не знаю, гдеошибка в react-native-sass-transformer
или в моем node-sass
, но я попытался запустить npm rebuild node-sass
, который сказал, что двоичный файл в порядке! (Хотя с ошибками --force
это не удалось). Любая помощь приветствуется.
Я использую:
Node v10.16.0
npm 6.9.0
react-native 0.59.4
node-sass 4.12.0 (Wrapper) [JavaScript]
libsass 3.5.4 (Sass Compiler) [C/C++]