2017-01-06 6 views
1

я нашел, когда я бег НОГО установить в корне среагировать родной проект, это всегда показывает мне Предупреждать:Неправильный путь package.json когда НАЯ установка в реакции родного проект

НПМ WARN ENOENT ENOENT: нет такой файл или каталог, откройте '/Users/chen/Documents/react-native/project/node_modules/node_modules/package.json'

, но мы знаем, что 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, после выполнения НПМ установки, библиотека будет добавлять в зависимости.

, а также имеет другой package.json в node_modules foloder, и это JSon обновление обыкновение, когда я бегу НПМ установки, ошибка говорит, что указывает на node_modules/node_modules/package.json, конечно, не существует этот файл

{ 
    "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" 
    } 
} 

Так как это НПМ установки найти что неправильный путь ???

ответ

0

package.json модуль должен присутствовать в каталоге вашего проекта root. Это, если вы хотите установить все зависимости npm для вашего проекта.

Фактически, когда вы запускаете npm install, он ищет файл package.json и устанавливает все dependencies, записанные в этом файле. Итак, где бы вы ни запускали npm install, в этом каталоге должен быть один файл package.json.

Итак, для простоты мы сохраняем файл package.json в корне project, так что npm устанавливает все зависимости, необходимые для этого проекта за один раз.

Update:

каждый node module имеет свой собственный package.json файл и node_modules папку, вот так, как это работает. package.json содержит все dependencies, необходимые для этого модуля, а папка node_modules будет содержать эти модули. Опять же, если вы пойдете еще на один уровень, вы найдете еще один файл package.json. Итак, все такие package.json содержат зависимости, необходимые для этого module.

Попробуйте войти в папку node_modules и исследуйте ее, вы поймете это лучше.

+0

да есть 'package.json' в корне.но также имеет один в папке node_module, так что он использует для ?? – chanjianyi

+0

Вы поняли, в чем проблема, с которой вы столкнулись, ответил ли мой ответ на ваши сомнения? –

+1

нет, я до сих пор не знаю, почему это неверно указывает 'package.json' .. – chanjianyi

0

В корне проекта есть package.json.

Тогда каждый модуль под node_modules имеет один.

Но я не думаю, что вы должны иметь package.json в node_modules папку

/
    package.json 
    /node_modules 
        <-- no package.json here 
     /module1 
     package.json 
     /module2 
     package.json