2016-12-02 60 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

相關問題