无法安装任何 NPM 包,错误 4058

Can't install any NPM package, error 4058

我正在尝试在我的项目中安装 Grunt。它曾经完美地工作,但现在由于某种原因,它没有。每次我尝试安装 Grunt 时,我都会收到此错误:

npm ERR! path C:\irrelevent\path\project\node_modules\ansi-styles
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall rename
npm ERR! enoent ENOENT: no such file or directory, rename 'C:\irrelevent\path\project\node_modules\ansi-styles' -> 'C:\irrelevent\path\project\.ansi-styles.DELETE'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\Me\AppData\Roaming\npm-cache\_logs18-04-03T00_52_10_105Z-debug.log

奇怪的是每次丢失的包裹都在变化。
我尝试验证缓存,删除 node_modules 文件夹,使用 --force 清理缓存。卸载 NPM 和 NodeJS,重新启动我的电脑。没有机会。
出于安全原因,我不得不格式化我的电脑,我拿了项目文件夹而不是 Roaming 文件夹,我不知道这是否有影响,但应该不会,因为我重新安装了 NPM。

我不确定这是否有帮助,但这是我的 package.json

{
 "name": "project",
 "version": "2.1.0",
 "repository": "project-2.0",
 "devDependencies": {
   "grunt": "^1.0.2",
   "grunt-cli": "^1.2.0",
   "grunt-contrib-concat": "~1.0.1",
   "grunt-contrib-copy": "^1.0.0",
   "grunt-contrib-cssmin": "~2.0.0",
   "grunt-contrib-jshint": "~1.1.0",
   "grunt-contrib-uglify": "~2.2.0",
   "grunt-contrib-watch": "~1.0.0",
   "grunt-html-build": "^0.7.1",
   "grunt-real-favicon": "^0.2.2"
 },
 "dependencies": {
   "angular-bootstrap-colorpicker": "^3.0.31",
   "angularjs-geolocation": "^0.1.3",
   "sprintf-js": "^1.1.1"
 }
}

尝试以下步骤:

  • 再次删除 package-lock.json 和 运行 NPM。
  • 确保 node.js 没有其他进程正在 运行ning(检查任务管理器)
  • 如果您正在使用 visual studio 代码,请关闭它并再次尝试 运行ning npm install
  • 如果一切都失败了,请重新启动计算机。

在此处查看主题:https://github.com/npm/npm/issues/17444

你不应该忘记按 cd "nameofproject" 转到项目文件夹,然后 "npm start" 就可以工作了。

  • 删除包-lock.josn和node_modules
  • 通过npm cache clear --force
  • 清除 npm 缓存
  • 重启 VS Code
  • 运行npm install再次

对我来说,原因是 Dropbox(我的 NodeJS 项目在 Dropbox 文件夹的某个深处)。我暂停了同步,再次尝试 npm install 并且安装没有错误。然后我当然恢复了同步。

解决 VS-Code 的这个错误:

  1. 关闭 VS-Code
  2. 执行npm cache clear --force
  3. 重启 VS-Code。

我遇到了同样的问题,由于我的项目结构是 js>frontend>src>index.html

,我的问题在更改目录(cd frontend)的帮助下得到解决

在 运行 npm 启动之前,请确保您位于正确的目录中。

解决方案

  1. cd frontend(你的目录名)
  2. npm 启动

我安装了 (npm install -D live-server) 和 在 package.json 中,我将“开始”命令设置为 “开始”:“live-server src--verbose”

试试这个:

  1. 检查您是否创建了同名的内部文件夹。

  2. 如果存在 2 个同名文件夹(删除第一个文件夹)

  3. 转到终端:npm start

我尝试了很多东西,比如安装不同的版本、清除缓存、编辑环境变量,但没有任何效果,然后我没有安装 nodejs,而是提取了 nodejs 的文件,它在我的情况下有效。