Попытка поиграться с reactjs
, и у меня очень ограниченное знакомство с npm
.
Я пробежал:
npx create-react-app my-app
Installing template dependencies using npm...
npm WARN react-scripts@3.4.1 requires a peer of typescript@^3.2.1 but none is installed.
You must install peer dependencies yourself.
npm WARN sass-loader@8.0.2 requires a peer of node-sass@^4.0.0 but none is installed.
You must install peer dependencies yourself.
npm WARN sass-loader@8.0.2 requires a peer of sass@^1.3.0 but none is installed.
You must install peer dependencies yourself.
npm WARN sass-loader@8.0.2 requires a peer of fibers@>= 3.1.0 but none is installed.
You must install peer dependencies yourself.
npm WARN tsutils@3.17.1 requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta but none is installed.
You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.1.2 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@2.1.2: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modules\webpack-dev-server\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modules\watchpack\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.12 (node_modules\jest-haste-map\node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.12: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
> added 1606 packages from 750 contributors and audited 931160 packages
> in 165.13s
reactjs
- чрезвычайно популярный фреймворк. Нормально ли пропустить dependencies
из коробки при установке fre sh?
Я видел где-то, что можно вручную добавить то, чего не хватает с npm install --save-dev xxxxx
.
Вот что возвращается, когда я запустил следующее:
npm ls
npm ERR! peer dep missing: typescript@^3.2.1, required by react-scripts@3.4.1
npm ERR! peer dep missing: node-sass@^4.0.0, required by sass-loader@8.0.2
npm ERR! peer dep missing: sass@^1.3.0, required by sass-loader@8.0.2
npm ERR! peer dep missing: fibers@>= 3.1.0, required by sass-loader@8.0.2
npm ERR! peer dep missing: typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev |
| >= 3.7.0-beta, required by tsutils@3.17.1
npm ERR! peer dep missing: typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev |
| >= 3.7.0-beta, required by tsutils@3.17.1
npm ERR! missing: mkdirp@0.5.3, required by node-pre-gyp@0.14.0
npm ERR! missing: minimist@1.2.5, required by mkdirp@0.5.3
npm ERR! missing: npm-normalize-package-bin@1.0.1, required by npm-packlist@1.4.8
npm ERR! missing: npm-normalize-package-bin@1.0.1, required by npm-bundled@1.1.1
npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.7
npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: minimist@1.2.5, required by rc@1.2.8
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by once@1.4.0
npm ERR! missing: minipass@2.9.0, required by tar@4.4.13
npm ERR! missing: mkdirp@0.5.3, required by tar@4.4.13
npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.13
npm ERR! missing: yallist@3.1.1, required by tar@4.4.13
npm ERR! missing: minipass@2.9.0, required by fs-minipass@1.2.7
npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.9.0
npm ERR! missing: yallist@3.1.1, required by minipass@2.9.0
npm ERR! missing: minipass@2.9.0, required by minizlib@1.3.3
npm ERR! missing: mkdirp@0.5.3, required by node-pre-gyp@0.14.0
npm ERR! missing: minimist@1.2.5, required by mkdirp@0.5.3
npm ERR! missing: console-control-strings@1.1.0, required by npmlog@4.1.2
npm ERR! missing: inherits@2.0.4, required by readable-stream@2.3.7
npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.7
npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1
npm ERR! missing: console-control-strings@1.1.0, required by gauge@2.7.4
npm ERR! missing: string-width@1.0.2, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: code-point-at@1.1.0, required by string-width@1.0.2
npm ERR! missing: is-fullwidth-code-point@1.0.0, required by string-width@1.0.2
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: number-is-nan@1.0.1, required by is-fullwidth-code-point@1.0.0
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: string-width@1.0.2, required by wide-align@1.1.3
npm ERR! missing: minimist@1.2.5, required by rc@1.2.8
npm ERR! missing: inherits@2.0.4, required by glob@7.1.6
npm ERR! missing: once@1.4.0, required by glob@7.1.6
npm ERR! missing: once@1.4.0, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by once@1.4.0
npm ERR! missing: minipass@2.9.0, required by tar@4.4.13
npm ERR! missing: mkdirp@0.5.3, required by tar@4.4.13
npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.13
npm ERR! missing: yallist@3.1.1, required by tar@4.4.13
npm ERR! missing: minipass@2.9.0, required by fs-minipass@1.2.7
npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.9.0
npm ERR! missing: yallist@3.1.1, required by minipass@2.9.0
npm ERR! missing: minipass@2.9.0, required by minizlib@1.3.3
npm ERR! missing: safe-buffer@5.1.2, required by readable-stream@2.3.7
npm ERR! missing: safe-buffer@5.1.2, required by string_decoder@1.1.1
npm ERR! missing: strip-ansi@3.0.1, required by gauge@2.7.4
npm ERR! missing: strip-ansi@3.0.1, required by string-width@1.0.2
npm ERR! missing: ansi-regex@2.1.1, required by strip-ansi@3.0.1
npm ERR! missing: wrappy@1.0.2, required by inflight@1.0.6
npm ERR! missing: wrappy@1.0.2, required by once@1.4.0
npm ERR! missing: safe-buffer@5.1.2, required by tar@4.4.13
npm ERR! missing: yallist@3.1.1, required by tar@4.4.13
npm ERR! missing: safe-buffer@5.1.2, required by minipass@2.9.0
npm ERR! missing: yallist@3.1.1, required by minipass@2.9.0
Итак, я пропускаю примерно 5 или около того, которые были показаны в конце установки / установки реакции, или я пропускаю ~ 30 -50 или около того, что npm ls
указывает?
Если я npm start
проекта, он, кажется, работает нормально. Нужно ли вообще все эти недостающие dependencies
? Как в мире вы можете отслеживать, что нужно -vs- нет?
И как вы узнаете, когда сталкиваетесь с проблемой из-за отсутствия чего-то?
Я пытался установить некоторые из dependencies
, но они просто зависят от того, чего не хватает dependencies
. Это похоже на бесконечную игру в погоне за хвостом.
Как я могу верить, что все в порядке? Если я просто скажу привинтить его и продолжать пытаться установить более 50 модулей (и все их зависимости), это просто сработает? Я чувствую себя очень подавленным, и я еще даже не написал ни одного куска кода.
спасибо!
Редактировать / обновить:
Обновлен из v10.15.3 -> v12.16.2 (установил старую версию лет go для игры с реагировать на родную). Удалил папку моего предыдущего проекта и пересоздал реагирующий проект. Все отсутствующие зависимости исчезли, за исключением:
npm WARN tsutils@3.17.1 requires a peer of typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta |
| >= 3.7.0-dev || >= 3.7.0-beta but none is installed. You must install peer dependencies yourself.
при выполнении «npm ls» также отображается только машинопись как единственное, что отсутствует. Итак, я рад видеть, что это соответствует тому, о чем сообщил процесс установки при установке.
, который оставляет меня со следующими вопросами.
1) Node / NPM поставляется с "default" пакеты установлены? Я не понимаю, как наличие старой версии Node, когда я сам не устанавливал ничего лишнего, вдруг сделало бы доступными все модули, которые ранее отсутствовали? Особенно, когда они все сторонние, и в этом весь смысл npm (возможность управлять сторонними пакетами / модулями). как я могу предотвратить это снова (всегда ли мне нужно обновлять узел сразу, когда появляются новые версии?)
2) я пытался установить машинопись как:
npm install -g typescript --save-dev
npm install typescript --save-dev
, но ни один не получил предупреждение на go прочь
Я должен был сделать:
npm install typescript
, который наконец получил предупреждения на go прочь. но это добавило машинопись к моим зависимостям прямо в моем пакете. json. Означает ли это, что библиотека машинописного текста будет включена в мой окончательный проект, который экспортируется для загрузки на мой веб-сайт? Очевидно, я не хочу, чтобы там были дополнительные файлы (только машинописный текст похож на 50 МБ).
Спасибо!