title: React-Native Install Error with Babel ES2015
body: <p>I am trying to start a new react-native project following the <a href="http://facebook.github.io/react-native/docs/getting-started.html" rel="nofollow noreferrer">Getting Started</a> example in the projects docs. Below is the install and error I get. NODE is 5.2, NPM is 3.3.12. Mac is El Capitain.</p>
  
  <p>I get an error: Error: Couldn't find preset "es2015" relative to directory referencing ES2015 relative to directory.</p>
  
  <p>I then follow the advice <a href="https://stackoverflow.com/a/35809331/2336356">here</a> and have both presets installed globally and locally in the project. You can see it in the npm ls -g command below that its installed globally. After installing it locally in the project, i get a peer deependency warning for react: UNMET PEER DEPENDENCY react@15.0.2</p>
  
  <p>I then installed react@15.0.2. I then re-run react-native run-ios and I get the same error:</p>
  
  <pre><code>Alains-MacBook-Pro:AwesomeProject klik$ react-native run-ios
  /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413
            throw new Error( /*istanbul ignore next*/"Couldn't find preset " + /*istanbul ignore next*/(0, _stringify2.default)(val) + " relative to directory " + /*istanbul ignore next*/(0, _stringify2.default)(dirname));
            ^
  
  Error: Couldn't find preset "es2015" relative to directory "/Users/klik"
      at /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413:17
      at Array.map (native)
  </code></pre>
  
  <p>I then run npm install on the project and get the same error again.</p>
  
  <pre><code>Alains-MacBook-Pro:AwesomeProject klik$ npm -v
  3.3.12
  Alains-MacBook-Pro:AwesomeProject klik$ npm install
  Alains-MacBook-Pro:AwesomeProject klik$ react-native run-ios
  /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413
            throw new Error( /*istanbul ignore next*/"Couldn't find preset " + /*istanbul ignore next*/(0, _stringify2.default)(val) + " relative to directory " + /*istanbul ignore next*/(0, _stringify2.default)(dirname));
            ^
  
  Error: Couldn't find preset "es2015" relative to directory "/Users/klik"
      at /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413:17
      at Array.map (native)
      at OptionManager.resolvePresets (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:405:20)
      at OptionManager.mergePresets (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:388:10)
      at OptionManager.mergeOptions (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:14)
      at OptionManager.addConfig (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:248:10)
      at OptionManager.findConfigs (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:454:16)
      at OptionManager.init (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:502:12)
      at compile (/Users/klik/projects/AwesomeProject/node_modules/babel-register/lib/node.js:112:69)
      at loader (/Users/klik/projects/AwesomeProject/node_modules/babel-register/lib/node.js:158:14)
  </code></pre>
  
  <p>I then add a .babelrc file with the following JSON. This has worked on other projects for me after reading it on <a href="https://babeljs.io/docs/plugins/preset-es2015/" rel="nofollow noreferrer">Babeljs.io</a> and I saw it suggested <a href="https://stackoverflow.com/a/35694271/2336356">here</a> again so I tried it. It didnt work but produced this different error referencing the promise directory. This looks like it waiting for a promise to return with the ios file in the project, which doesnt exist because React-Native never completed the install. All I have for files in the project after running npm install are node_modules directory and package.json and the .babelrc file I added:</p>
  
  <pre><code>Alains-MacBook-Pro:AwesomeProject klik$ npm install
  Alains-MacBook-Pro:AwesomeProject klik$ react-native run-ios
  /Users/klik/projects/AwesomeProject/node_modules/promise/lib/done.js:10
        throw err;
        ^
  
  Error: ENOENT: no such file or directory, uv_chdir
      at Error (native)
      at process.chdir (/Users/klik/projects/AwesomeProject/node_modules/graceful-fs/polyfills.js:18:9)
      at _runIOS (runIOS.js:51:11)
      at runIOS.js:24:5
      at tryCallTwo (/Users/klik/projects/AwesomeProject/node_modules/promise/lib/core.js:45:5)
      at doResolve (/Users/klik/projects/AwesomeProject/node_modules/promise/lib/core.js:200:13)
      at new Promise (/Users/klik/projects/AwesomeProject/node_modules/promise/lib/core.js:66:3)
      at Array.runIOS (runIOS.js:23:10)
      at Object.run (/Users/klik/projects/AwesomeProject/node_modules/react-native/local-cli/cli.js:87:13)
      at Object.&lt;anonymous&gt; (/Users/klik/.nvm/versions/node/v5.2.0/lib/node_modules/react-native-cli/index.js:88:7)
  </code></pre>
  
  <p>This is the original install with error:</p>
  
  <pre><code>Alains-MacBook-Pro:~ klik$ npm ls -g --depth=0
  /Users/klik/.nvm/versions/node/v5.2.0/lib
  ├── babel-cli@6.8.0
  ├── babel-preset-es2015@6.6.0
  ├── babel-preset-react@6.5.0
  ├── cf-package@1.0.2
  ├── eslint@2.10.2
  ├── express@4.13.4
  ├── firebase-tools@3.0.0
  ├── gulp-cli@1.2.1
  ├── jshint@2.9.2
  ├── node-pre-gyp@0.6.28
  ├── nodemon@1.9.2
  ├── npm@3.3.12
  ├── react-native-cli@0.2.0
  ├── reindex-cli@0.4.1
  ├── rnpm@1.7.0
  ├── webpack@1.13.0
  └── webpack-dev-server@1.14.1
  
  Alains-MacBook-Pro:~ klik$ which node
  **/Users/klik/.nvm/versions/node/v5.2.0/bin/node**
  Alains-MacBook-Pro:~ klik$ which npm
  **/Users/klik/.nvm/versions/node/v5.2.0/bin/npm**
  Alains-MacBook-Pro:~ klik$ watchman -v
  4.5.0
  Alains-MacBook-Pro:~ klik$ cd projects
  Alains-MacBook-Pro:projects klik$ react-native init AwesomeProject
  This will walk you through creating a new React Native project in /Users/klik/projects/AwesomeProject
  Installing react-native package from npm...
  /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413
            throw new Error( /*istanbul ignore next*/"Couldn't find preset " + /*istanbul ignore next*/(0, _stringify2.default)(val) + " relative to directory " + /*istanbul ignore next*/(0, _stringify2.default)(dirname));
            ^
  
  Error: Couldn't find preset "es2015" relative to directory "/Users/klik"
      at /Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:413:17
      at Array.map (native)
      at OptionManager.resolvePresets (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:405:20)
      at OptionManager.mergePresets (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:388:10)
      at OptionManager.mergeOptions (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:347:14)
      at OptionManager.addConfig (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:248:10)
      at OptionManager.findConfigs (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:454:16)
      at OptionManager.init (/Users/klik/projects/AwesomeProject/node_modules/babel-core/lib/transformation/file/options/option-manager.js:502:12)
      at compile (/Users/klik/projects/AwesomeProject/node_modules/babel-register/lib/node.js:112:69)
      at loader (/Users/klik/projects/AwesomeProject/node_modules/babel-register/lib/node.js:158:14)
  Alains-MacBook-Pro:projects klik$ 
  </code></pre>
  
  <p>Any ideas come to mind? Thank you in advance for your help.</p>