react-native start setup_env.sh的EACCESS错误

问题描述:

因此,我在ReactNative中获得了我的第一个项目,以从Windows for Android OS运行。花了Mac上检出,以相同的方式配置它,当我尝试启动使用react-native start的反应包管理器,并得到以下错误:react-native start setup_env.sh的EACCESS错误

child_process.js:506 
    throw err; 
    ^
Error: spawnSync /Users/UserName/Desktop/Path/node_modules/react-native/local-cli/setup_env.sh EACCES 
    at exports._errnoException (util.js:1022:11) 
    at spawnSync (child_process.js:461:20) 
    at Object.execFileSync (child_process.js:498:13) 
    at Object.run (/Users/UserName/Desktop/Path/node_modules/react-native/local-cli/cliEntry.js:156:16) 
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:117:7) 
    at Module._compile (module.js:570:32) 
    at Object.Module._extensions..js (module.js:579:10) 
    at Module.load (module.js:487:32) 
    at tryModuleLoad (module.js:446:12) 
    at Function.Module._load (module.js:438:3) 

我知道,它只是试图设置的ulimit(打开文件限制)到2048年,这对于非root用户是允许的。也试着用sudo给它root权限运行命令。 在机器上运行ulimit -a显示打开的文件限制为256,我尝试将默认的2048更改为此。试着把它增加到4096,并完全删除命令。似乎没有什么区别,所以过去和错误依然存在。

使用react-native init DemoProject创建了一个新项目,打包程序似乎在该文件夹中启动,因此问题是其他问题?

我的package.json是:

{ 
    "name": "React Native", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "test": "jest" 
    }, 
    "dependencies": { 
    "native-base": "^0.5.18", 
    "react": "15.4.1", 
    "react-addons-shallow-compare": "^15.4.1", 
    "react-native": "0.39.2", 
    "react-native-drawer": "^2.3.0", 
    "react-native-icons": "^0.7.1", 
    "react-native-loading-spinner-overlay": "^0.4.1", 
    "react-native-md-textinput": "^2.0.4", 
    "react-native-overlay": "^0.5.0", 
    "react-native-scrollable-tab-view": "^0.7.0", 
    "react-native-tab-view": "0.0.40", 
    "react-redux": "^4.4.6", 
    "react-timer-mixin": "^0.13.3", 
    "redux": "^3.6.0" 
    }, 
    "devDependencies": { 
    "babel-jest": "17.0.2", 
    "babel-preset-react-native": "1.9.0", 
    "jest": "17.0.3", 
    "react-test-renderer": "15.4.1" 
    }, 
    "jest": { 
    "preset": "react-native" 
    } 
} 

而且,如果它的问题我有sinopia,browserify和全球的装机纱。

首先,我不确定是否应该通过npm再次在Mac上添加所有本地依赖项,然后复制我的代码,或者应该没问题,而其他东西是不对的。

如果我可以在不重新添加依赖关系的情况下对其进行排序,那将会很棒。提前致谢。

根本就到我的基地项目目录,并运行

chmod -R 777 node_modules

+2

我面对这个问题:'child_process.js:504 扔走错了路。 ^ 错误:spawnSync /../AwesomeProject/node_modules/react-native/local-cli/setup_env.sh EACCES' –

+0

@JacoboKoenig,我使用的是Ubuntu,它是我的节点的问题。 我卸载并清除了系统中的所有node.js,npm和节点文件夹。 重新安装节点,我的问题得到解决。 –

+0

如果只有我有一百万分给予。谢谢 – SleepsOnNewspapers

这是故宫的bug。他们修复bug之前,你有2个办法来解决这个问题:

  1. 降级故宫版本5.3.0
  2. NPM之后我反应过来本地的,请运行chmod -R 775个node_modules

在我的情况是与一个特定的文件中的错误,当我做react-native link:在该文件上chmod +x

 
Error: spawnSync ~/native-starter-kit/node_modules/react-native/local-cli/setup_env.sh EACCES 

,所以我通过运行固定它。

正如jerry指出的那样,这是NPM中的一个错误。现在有一个修复程序可用。您可以用npm i -g npm更新NPM。

我已更新至版本5.4.2(npm --version),删除了React Native与npm remove --save react-native,并使用npm i --save react-native重新安装了RN。这解决了我的问题。

(作为替代,你可能想尝试纱代替NPM)