2017-01-06 3 views
1

プロジェクト警告:間違っpackage.jsonパスネイティブ私はそれは常に私に示して、反応するネイティブプロジェクトのルートにインストールNPM実行したときに見つけ

NPMはENOENT ENOENTをWARN:なしそのようなファイルやディレクトリ、オープン '/Users/chen/Documents/react-native/project/node_modules/node_modules/package.json'

しかしnode_modulesが

をフォルダの下に、私たちはpackage.jsonがすべき知っています

これは私のですプロジェクトのルート

{ 
    "name": "project", 
    "version": "0.0.1", 
    "private": true, 
    "scripts": { 
    "start": "node node_modules/react-native/local-cli/cli.js start", 
    "test": "jest", 
    "bundle-ios": "node node_modules/react-native/local-cli/cli.js bundle --entry-file index.ios.js --platform ios --dev false --bundle-output ./ios/bundle/index.ios.jsbundle --assets-dest ./ios/bundle" 
    }, 
    "dependencies": { 
    "react": "~15.4.0-rc.4", 
    "react-native": "0.40.0", 
    "react-native-elements": "^0.9.0", 
    "react-native-scrollable-tab-view": "^0.7.0", 
    "react-native-swiper": "^1.5.4", 
    "react-native-vector-icons": "^4.0.0" 
    }, 
    "devDependencies": { 
    "babel-jest": "18.0.0", 
    "babel-preset-react-native": "1.9.1", 
    "jest": "18.1.0", 
    "react-test-renderer": "~15.4.0-rc.4" 
    }, 
    "jest": { 
    "preset": "react-native" 
    } 
} 

このJSONで[OK]を、すべてで実行NPMはインストールした後、ライブラリが依存関係に追加します。

とも私はインストールNPM実行すると、エラーがそれはもちろん

{ 
    "dependencies": { 
    "react-native-scrollable-tab-view": "^0.7.0", 
    "react-native-swiper": "^1.5.4", 
    "react-native-vector-icons": "^4.0.0", 
    "react-native-elements": "^0.9.0" 
    } 
} 

このファイルは存在しない、node_modules/node_modules/package.jsonを指して言った、どのようにNPM見つけるインストールしていますnode_modulesのfoloder内の別のpackage.json、このJSONの文句を言わないの更新を持っていますその間違った道?

答えて

0

package.jsonモジュールがプロジェクトのrootディレクトリに存在する必要があります。これは、プロジェクトにすべてのnpm依存関係をインストールする場合です。

実際にnpm installを実行すると、package.jsonファイルが検索され、そのファイルにすべてのdependenciesがインストールされます。したがって、npm installを実行する場合は、そのディレクトリに1つのpackage.jsonファイルが存在する必要があります。

npmが1回で、そのプロジェクトに必要なすべての依存関係をインストールするようにので、簡単にするために我々は、projectのルートにpackage.jsonファイルを保持します。

更新:

すべてのnode module、独自のpackage.jsonファイルやフォルダnode_modulesを持っている、それが動作する方法のthats。 package.jsonには、そのモジュールに必要なすべてのdependenciesが含まれており、node_modulesフォルダーにはそれらのモジュールが含まれます。もう一度深くすると、別のpackage.jsonファイルが見つかります。したがって、そのようなpackage.jsonには、その特定のものに必要な依存関係が含まれています。module

node_modulesフォルダ内に移動して探索してみると、よりよく理解できます。

+0

でpackage.jsonを持たなければならないとは思いません。node_moduleフォルダにも1つありますので、何のために使うのですか? – chanjianyi

+0

あなたは何の問題があるのか​​理解しましたか、私の答えはあなたの疑問を解決しましたか? –

+1

いいえ、なぜそれが間違った 'package.json'を指しているのかまだ分かりません。 – chanjianyi

0

プロジェクトルートにpackage.jsonがあります。

次に、node_modulesの下の各モジュールには1があります。

しかし、私はあなたがはいルートに `package.json`があるnode_modulesフォルダ

/
    package.json 
    /node_modules 
        <-- no package.json here 
     /module1 
     package.json 
     /module2 
     package.json 
関連する問題