[英]NPM Failed to Install Error on React Project
I am getting started with react so trying to build on different examples. 我正在开始做出反应,因此尝试以不同的示例为基础。 My application was working fine but then I tried to start the server [npm start] and received the below error. 我的应用程序运行正常,但随后尝试启动服务器[npm start]并收到以下错误。 I'm not sure what I have changed though obviously I have broken something. 我不确定我已更改了什么,尽管显然我已损坏了某些内容。 Any guidance on what is causing this? 关于什么原因的任何指导?
src/index.js SRC / index.js
import * as React from 'react'
import * as ReactDOM from 'react-dom'
import { createHashHistory } from 'history'
import Main from 'main'
import * as serviceWorker from 'serviceWorker'
import configureStore from 'configureStore'
import 'typeface-ibm-plex-sans'
import 'styles'
const history = createHashHistory()
const initialState = window.initialReduxState
const store = configureStore(history, initialState)
ReactDOM.render(<Main store={store} history={history} />, document.getElementById('root'))
serviceWorker.unregister()
src/configureStore.ts SRC / configureStore.ts
import { Store, createStore, applyMiddleware } from 'redux'
import createSagaMiddleware from 'redux-saga'
import { connectRouter, routerMiddleware } from 'connected-react-router'
import { composeWithDevTools } from 'redux-devtools-extension'
import { History } from 'history'
import { ApplicationState, rootReducer, rootSaga } from 'store'
export default function configureStore(
history: History,
initialState: ApplicationState
): Store<ApplicationState> {
// create the composing function for our middlewares
const composeEnhancers = composeWithDevTools({})
// create the redux-saga middleware
const sagaMiddleware = createSagaMiddleware()
const store = createStore(
connectRouter(history)(rootReducer),
initialState,
composeEnhancers(applyMiddleware(routerMiddleware(history), sagaMiddleware))
)
sagaMiddleware.run(rootSaga)
return store
}
tsconfig.json tsconfig.json
{
"compilerOptions": {
"baseUrl": "./src",
"outDir": "build/dist",
"module": "esnext",
"target": "ES2017",
"lib":["es2015", "es2016","dom"],
"sourceMap": true,
"allowJs": true,
"jsx": "react",
"moduleResolution": "node",
"rootDir": "src",
"allowSyntheticDefaultImports": true,
"forceConsistentCasingInFileNames": true,
"strict": true,
"suppressImplicitAnyIndexErrors": true,
"noUnusedLocals": true,
}
}
Debug Log 调试日志
0 info it worked if it ends with ok
1 verbose cli [ '/home/n4nite/.nvm/versions/node/v8.11.3/bin/node',
1 verbose cli '/home/n4nite/.nvm/versions/node/v8.11.3/bin/npm',
1 verbose cli 'install',
1 verbose cli 'configureStore',
1 verbose cli '--save' ]
2 info using npm@5.6.0
3 info using node@v8.11.3
4 verbose npm-session 0accc0570fa2177a
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 404 https://registry.npmjs.org/configureStore 1116ms
8 silly fetchPackageMetaData error for configureStore@latest 404 Not Found: configureStore@latest
9 verbose stack Error: 404 Not Found: configureStore@latest
9 verbose stack at fetch.then.res (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/fetch.js:42:19)
9 verbose stack at runCallback (timers.js:810:20)
9 verbose stack at tryOnImmediate (timers.js:768:5)
9 verbose stack at processImmediate [as _immediateCallback] (timers.js:745:5)
9 verbose stack From previous event:
9 verbose stack at regFetch (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/fetch.js:36:6)
9 verbose stack at fetchPackument (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/manifest.js:81:10)
9 verbose stack at getManifest (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/manifest.js:37:10)
9 verbose stack at manifest (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/manifest.js:24:10)
9 verbose stack at Object.manifest (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetchers/registry/index.js:12:12)
9 verbose stack at Object.Fetcher#manifest [as manifest] (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/node_modules/protoduck/node_modules/genfun/lib/genfun.js:15:38)
9 verbose stack at manifest (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/lib/fetch.js:16:18)
9 verbose stack at pinflight (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/manifest.js:24:12)
9 verbose stack at /home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/promise-inflight/inflight.js:29:24
9 verbose stack From previous event:
9 verbose stack at _inflight (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/promise-inflight/inflight.js:28:25)
9 verbose stack at /home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/promise-inflight/inflight.js:22:14
9 verbose stack at runCallback (timers.js:810:20)
9 verbose stack at tryOnImmediate (timers.js:768:5)
9 verbose stack at processImmediate [as _immediateCallback] (timers.js:745:5)
9 verbose stack From previous event:
9 verbose stack at inflight (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/promise-inflight/inflight.js:14:40)
9 verbose stack at Object.manifest (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/pacote/manifest.js:22:10)
9 verbose stack at fetchPackageMetadata (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/lib/fetch-package-metadata.js:58:10)
9 verbose stack at limited (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/call-limit/call-limit.js:29:10)
9 verbose stack at fs.stat (/home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/lib/install/deps.js:219:20)9 verbose stack at /home/n4nite/.nvm/versions/node/v8.11.3/lib/node_modules/npm/node_modules/graceful-fs/polyfills.js:284:29
9 verbose stack at FSReqWrap.oncomplete (fs.js:152:21)
10 verbose cwd /mnt/c/Users/micha/github/infornite-web-ui
11 verbose Linux 4.4.0-17134-Microsoft
12 verbose argv "/home/n4nite/.nvm/versions/node/v8.11.3/bin/node" "/home/n4nite/.nvm/versions/node/v8.11.3/bin/npm" "install" "configureStore" "--save"
13 verbose node v8.11.3
14 verbose npm v5.6.0
15 error code E404
16 error 404 Not Found: configureStore@latest
17 verbose exit [ 1, true ]
package.json 的package.json
{
"name": "infornite-web-ui",
"version": "0.1.0",
"private": true,
"dependencies": {
"@types/classnames": "^2.2.6",
"@types/material-ui": "^0.21.5",
"@types/prop-types": "^15.5.5",
"@types/react-router": "^4.0.30",
"@types/redux-form": "^7.4.5",
"babel-plugin-emotion": "^9.2.0",
"class-names": "^1.0.0",
"classnames": "^2.2.6",
"connected-react-router": "^4.3.0",
"create-react-app-parcel-typescript": "0.0.5",
"dotenv-expand": "^4.2.0",
"emotion": "^9.2.3",
"emotion-theming": "^9.2.3",
"history": "^4.7.2",
"http2": "^3.3.7",
"main": "^1.0.1",
"material-ui": "^0.20.2",
"moment": "^2.22.2",
"polished": "^1.9.3",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-emotion": "^9.2.3",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-router-redux": "^5.0.0-alpha.9",
"redux": "^4.0.0",
"redux-devtools-extension": "^2.13.2",
"redux-form": "^7.4.2",
"redux-form-material-ui": "^4.3.4",
"redux-saga": "^0.16.0",
"routes": "^2.1.0",
"store": "^2.0.12",
"styles": "^0.2.1",
"typeface-ibm-plex-mono": "^0.0.56",
"typeface-ibm-plex-sans": "^0.0.58",
"typesafe-actions": "^2.0.4",
"utils": "^0.3.1"
},
"scripts": {
"start": "react-scripts-parcel start",
"build": "react-scripts-parcel build",
"test": "react-scripts-parcel test --env=jsdom",
"eject": "react-scripts-parcel eject"
},
"browserslist": {
"development": [
"last 2 chrome versions",
"last 2 firefox versions",
"last 2 edge versions"
],
"production": [
">1%",
"Firefox ESR",
"not ie <= 11",
"not op_mini all"
]
},
"devDependencies": {
"@types/history": "^4.6.2",
"@types/node": "^10.3.3",
"@types/react": "^16.3.17",
"@types/react-dom": "^16.0.6",
"@types/react-redux": "^6.0.2",
"@types/react-router-dom": "^4.2.7",
"@types/react-router-redux": "^5.0.15",
"tslint": "^5.10.0",
"tslint-config-blvd": "^1.0.0",
"typescript": "^2.9.2"
}
}
fetch GET 404 https://registry.npmjs.org/configureStore 获取GET 404 https://registry.npmjs.org/configureStore
Indeed configureStore
is not available on NPM proper : https://www.npmjs.com/package/configureStore gives a "not found" error (compare to eg react https://www.npmjs.com/package/react ) 实际上, configureStore
在NPM上不可用: https : //www.npmjs.com/package/configureStore给出了“未找到”错误(例如,比较一下https://www.npmjs.com/package/react )
Either the package.json is wrong (unlikely) OR you are supposed to you registry local to your organization. package.json错误(不太可能),或者您应该在组织本地注册。 Use the --registry
flag in npm and ask your team mates. 在npm中使用--registry
标志,并询问队友。
In case anyone else comes across this. 万一其他人遇到这个问题。 I was using an option in my tsconfig.json file to set the base url to "./src". 我在tsconfig.json文件中使用一个选项将基本URL设置为“ ./src”。 The intention is that I could use paths relative to the src directory in my import statements rather than full paths so something like 目的是我可以在导入语句中使用相对于src目录的路径,而不是完整路径,因此类似
[import something from '../../../my-module'] [从'../../../my-module'导入一些东西]
would just become 会变成
[import something from 'my-module'] [从“我的模块”中导入一些东西]
This worked fine but all of a sudden I started to receive error messages. 这个工作正常,但是突然我开始收到错误消息。 I assume that I either installed some dependency that didn't support this configuration for relative paths (unlikely) or that I inadvertently made some change that broke this logic without realising I had done it (more likely). 我以为我要么安装了一些不支持相对路径的配置的依赖项(不太可能),要么我无意中做了一些改动,破坏了这个逻辑,却没有意识到自己做了(很可能)。
The fix was to change the base url from "baseUrl": "./src" to "baseUrl": "." 解决方法是将基本URL从“ baseUrl”:“ ./ src”更改为“ baseUrl”:“。” as suggested by @rshepp. 如@rshepp所建议。 When that was done I had to go back and change every import statement that was using relative paths to use full paths. 完成此操作后,我必须返回并更改每个使用相对路径的导入语句以使用完整路径。 That was a pain but it solved the problem. 那很痛苦,但解决了问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.