React-native:看起来你在全球范围内安装了react-native

时间:2016-06-21 16:18:49

标签: node.js reactjs npm react-native npm-install

当全局安装时,似乎存在react-native的错误。我需要它正确执行而不会看到此错误:

$ react-native run-ios
Looks like you installed react-native globally, maybe you meant react-native-cli?
To fix the issue, run:
npm uninstall -g react-native
npm install -g react-native-cli

在其他论坛发布的解决方案对我没有用,我不明白为什么这不起作用。

package.json

{
  "name": "react-native-svgkit",
  "version": "0.2.2",
  "main": "Svg.js",
  "description": "A <Svg /> element for react-native that renders Svg images using SVGKit",
  "author": "Brent Vatne <brentvatne@gmail.com> (https://github.com/brentvatne)",
  "peerDependencies": {
    "react": "15.1.0",
    "react-native": ">=0.4.4"
  },
  "devDependencies": {
    "react-native": ">=0.4.4",
    "react-native-cli": "^0.1.10"
  },
  "dependencies": {
    "d3": "^3.5.5",
    "jsdom-jscore": "^0.1.0",
    "react-native-svg": "^2.2.0"
  },
  "repository": {
    "type": "git",
    "url": "git@github.com:brentvatne/react-native-svgkit.git"
  },
  "scripts": {
    "start": "node /usr/local/lib/node_modules/react-native/local-cli/cli.js start"
  }
}

3 个答案:

答案 0 :(得分:3)

在我的情况下,这个问题是因为因为npm是使用自制软件安装的。可以在this gist上找到此问题的说明以及如何解决此问题。总之,所需的修复是卸载所有npm全球安装的软件包,卸载节点,然后重新安装节点,并重新安装没有brew的npm。

npm list -g --depth=0 # to list all your globally installed packages
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

然后,您必须使用npm install -g <package_name>重新安装全局安装的所有npm软件包。

不幸的是,当我重新启动机器时,同样的问题又重新出现了。我目前的工作是遵循建议here

npm install --save-dev react-native-cli

欢迎任何有关正在发生的事情的解释。

答案 1 :(得分:0)

在package.json

中使用
"scripts": {
   "android": "node node_modules/react-native/local-cli/cli.js run-android"
}

而不是

"scripts": {
    "android": "react-native run-android"
 }

答案 2 :(得分:-1)

出于某种原因,我 package.json 文件中删除了所有依赖项并手动安装

yarn add react-native redux

还有其他的,它对我有用, 我发现问题出在已安装软件包的版本上。