9

最近我开始遇到这个问题,当我在我的react-navigation项目中安装一个 react-native 包(例如:)时,一大堆包被删除了(包括我认为的 react、react-native)。

然后当我尝试运行命令“ run-android”时,它说它无法识别。

我最近更新到最新的npmreact-native-cli. “”有什么问题npm install吗?还是react-native

node version: 8.1.2 <br/>
react-native-cli: 2.0.1 <br/>
react-native: 0.45.1 <br/>
react-navigation: 1.0.0-beta.11

以下是重新创建的步骤:

  • 第 1 步 - 创建项目。 在此处输入图像描述

  • 第 2 步 - 运行“run-android”命令(有效)。 在此处输入图像描述

  • 第 3 步 - 将“react-native-navigation”安装到项目中。 在此处输入图像描述

Notice in the image above. Seems like all the other packages are removed from the project.<br/><br/>
  • 第 4 步 - 再次尝试运行“run-android”命令。(会失败,但以前可以工作) 在此处输入图像描述

关于问题是什么以及解决方法的任何想法?

4

2 回答 2

6

在这里找到了解决方案。

起初运行npm install不起作用,但随后删除package-lock.json文件并运行npm install完成了这项工作。

之后我react-navigation单独安装了包,它工作正常。

于 2017-06-20T05:03:44.143 回答
-1

这是从头到尾对我有用的东西。

  1. react-native init NavTest (使用此命令在本地安装 cli)
  2. 删除 package-lock.json
  3. npm install --save react-navigation
  4. 删除了生成的 package-lock.json
  5. npm install
  6. react-native run android 有点难看,我不完全知道发生了什么,但这有效。 https://reactnavigation.org/用于运行示例代码。

或将其复制到 index.android.js

import React, { Component } from 'react';
import { 
  AppRegistry,
  Button,
} from 'react-native';
import {
  StackNavigator,
} from 'react-navigation';



class HomeScreen extends Component {
  static navigationOptions = {
    title: 'Welcome',
  };
  render() {
    const { navigate } = this.props.navigation;
    return (
      <Button
        title="Go to Jane's profile"
        onPress={() =>
          navigate('Profile', { name: 'Jane' })
        }
      />
    );
  }
}

class ProfileScreen extends Component{
  static navigationOptions = {
    title: 'Jane',
  };
  render() {
    return (null);
  }
}

const NavTest= StackNavigator({
  Home: { screen: HomeScreen },
  Profile: { screen: ProfileScreen },
});

AppRegistry.registerComponent('NavTest', () => NavTest);
于 2017-07-02T02:26:01.817 回答