npm 安装收到错误"must provide string spec"



我尝试执行一个两年前自己创建的旧react应用程序。当我尝试通过";npm安装";,我有以下错误:

npm ERR! must provide string spec
npm ERR! A complete log of this run can be found in:
npm ERR!     C:Userstws80AppDataLocalnpm-cache_logs2022-01-09T21_00_13_180Z-debug.log

我的package.json文件的依赖项:

"dependencies": {
"@material-ui/core": "^4.9.7",
"@material-ui/icons": "^4.9.1",
"@mdi/js": "^5.0.45",
"@mdi/react": "^1.3.0",
"@testing-library/jest-dom": "^4.2.4",
"@testing-library/react": "^9.4.1",
"@testing-library/user-event": "^7.2.1",
"editor.formatOnPaste": true,
"editor.formatOnSave": true,
"husky": "^4.2.3",
"i18next": "^19.3.3",
"lint-staged": "^10.0.8",
"prettier": "^1.19.1",
"react": "^17.0.2",
"react-dom": "^17.0.2", 
"react-html-email": "^3.0.0",
"react-i18next": "^11.3.3",
"react-intl": "^4.1.1",
"react-router-dom": "^5.1.2",
"react-scripts": "^5.0.0"
}

我当前的节点和npm版本:

node -v v16.13.1
npm -v 8.1.2

我想这个错误是由于旧的依赖关系造成的,但我找不到任何有用的解决方法来解决这个问题。删除node_modules之后,我仍然可以重新安装node_module。谢谢你的帮助。

bash终端中运行rm -rf node_modules && rm -f package-lock.json && npm i为我修复了它。

运行CCD_ 2产生-->本地机器上的8.3.0

问题是,您在"依赖关系";你的包.json的一部分。我在autoprefixer浏览器列表选项中也遇到了同样的错误。删除"editor.formatOnPaste": true"editor.formatOnSave": true,npm安装将按预期工作——我确实在本地进行了检查。我的猜测是;依赖关系";或";devDependencies";只需要程序包的版本。

不需要创建新的包。删除package-lock.json并运行npm install我解决了问题。

您的npm包必须首先初始化:
npm init
然后您应该能够执行命令。

很可能是您的package-lock.json出了问题。您可以删除此文件并运行一个新的npm install,它将为您重新生成一个新文件。

这是因为软件包锁定.json。只需删除程序包锁定.json并运行npm install--force就解决了我的问题。

在我创建了一个新的react应用程序,然后复制&将新应用程序中的package.json粘贴到旧应用程序中,命令npm install确实起作用。

尝试

npm upgrade

然后

npm cache clean --force

在我的案例中,它有所帮助:npm upgrade --legacy-peer-depsnpm upgrade

对我来说,我不小心开始将引用放入"package.json";,然后分心了,忘记填写。

我最终得到了一些愚蠢的东西,比如:

"dependencies": {
"@apollo/client": null,

删除零线修复了它。愚蠢,但也许它对某人有帮助。

运行sudo npm i -g npm-check-updates

那么sudo npm init

然后对两个package.json文件进行比较将旧代码拉入新的json文件。

那么sudo npm install

我认为

相关内容

最新更新