react-native CLI应该是本地模块还是全局模块?

时间:2020-02-14 08:18:51

标签: javascript react-native npm react-native-ios react-native-cli

在FB的git页面上,我一直在进行与React Native入门的初始步骤。 https://facebook.github.io/react-native/docs/getting-started

在此过程中,使用nxp或npm安装的CLI,我得到了正在发生的错误。

[!] Invalid `Podfile` file: [!] /Users/allen/.nvm/versions/node/v12.14.1/bin/node -e console.log(require('@react-native-community/cli').bin);

internal/modules/cjs/loader.js:796
    throw err;
    ^

Error: Cannot find module '@react-native-community/cli'
Require stack:
- /Volumes/BLUE/workspace-blue/react_native-blue/test/ios/[eval]
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:793:17)
    at Function.Module._load (internal/modules/cjs/loader.js:686:27)
    at Module.require (internal/modules/cjs/loader.js:848:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at [eval]:1:13
    at Script.runInThisContext (vm.js:116:20)
    at Object.runInThisContext (vm.js:306:38)
    at Object.<anonymous> ([eval]-wrapper:9:26)
    at Module._compile (internal/modules/cjs/loader.js:955:30)
    at evalScript (internal/process/execution.js:80:25) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [ '/Volumes/BLUE/workspace-blue/react_native-blue/test/ios/[eval]' ]
}

这是在cocoapods安装过程中发生的。文档说:

如果您以前安装了全局react-native-cli软件包,请删除它,因为它可能会导致意外问题。

但是,无论安装了什么文件或用于创建启动文件的文件,都会发生这种情况。

在Podfile中有以下几行:

platform :ios, '13.0' # <- this was 9.0 but I changed to 13.0
require_relative '../node_modules/@react-native-community/cli-platform-ios/native_modules'

如果我执行npm,则在项目内本地安装@ react-native-commuinty / cli,然后执行pod install,一切正常。是否应该将CLI路径更改为npm目录的路径?如果文档说没有安装本机CLI时应该没有任何问题,那为什么我需要安装它才能使pod install工作?

环境:

  • MacOS 10.15

  • 节点12.14.1

  • 红宝石红宝石2.6.3p62(2019-04-16修订版67580)[universal.x86_64-darwin19](尝试使用rbenv 2.5)

  • xcode选择版本2373。

1 个答案:

答案 0 :(得分:0)

它必须是本地的。输入时

npx react-native init [project name]

它将在本地添加它。

https://facebook.github.io/react-native/docs/getting-started

此官方链接建议:


如果您以前安装了全局react-native-cli软件包,请删除它,因为它可能会导致意外问题。