2016-12-02 62 views
1

我刚刚开始反应原生。我尝试了documentation中提到的事情。创建反应原生项目时发现'不变'错误

但是在运行react-native init AwesomeProject

我得到以下错误。

module.js:328 
    throw err; 
    ^

Error: Cannot find module 'invariant' 
    at Function.Module._resolveFilename (module.js:326:15) 
    at Function.Module._load (module.js:277:25) 
    at Module.require (module.js:354:17) 
    at require (internal/module.js:12:17) 
    at Object.<anonymous> (/Users/aragorn/AwesomeProject/node_modules/react-native/packager/react-packager/src/node-haste/Module.js:18:19) 
    at Module._compile (module.js:410:26) 
    at loader (/Users/aragorn/AwesomeProject/node_modules/babel-register/lib/node.js:144:5) 
    at Object.require.extensions.(anonymous function) [as .js] (/Users/aragorn/AwesomeProject/node_modules/babel-register/lib/node.js:154:7) 
    at Module.load (module.js:344:32) 
    at Function.Module._load (module.js:301:12) 

我用下面的配置在Mac OSX(优胜美地)试图这样的: -

  1. 的NodeJS - V4.3.0
  2. NPM - 12年2月14日
  3. 反应母语-CLI- 1.3.0

有人可以帮助我吗?

回答

0

我通过完全卸载节点解决了这个问题。我安装了Mac上的网络包节点,所以我需要做手工:

重新安装与酿造
Manual: 
sudo rm -rf /usr/local/{bin/{node,npm},lib/node_modules/npm,lib/node,share/man/*/node.*} 

Brew: 
brew uninstall node 

brew install node 

我这样做对链接时收到错误。我想:

brew link node 
brew link --overwrite node 

我因上述sudo rm有一个权限错误,最有可能的。我不确定这是否会破坏任何内容,但这是我在其他主题上找到的解决方案。

sudo chown -R $USER /usr/local 

然后brew link --overwrite node工作。然后重新安装反应原生react-native init然后创建项目。

我希望这会有所帮助。

+0

我在Mac上同样的错误,但这种方法并没有为我工作... – ErmannoS

1

这为我工作npm i -g invariant

+1

你能解释你的答案吗? – Zulu

+0

我一直跟Harkirat Salija一样困扰。经过一番搜索后,我从ErmannoS发现了这个答案:'npm i --save-dev invariant'。但我决定尝试在全局'npm i -g invariant'上安装'invariant'。我做完这些后,我的项目成功创建,没有任何错误。 – devenviron

相关问题