无法将 "gatsby-plugin-netlify-cms" 插件安装到 Gatsby 博客

Unable to install "gatsby-plugin-netlify-cms" plugin to Gatsby blog

我无法将 Gatsby plugin for Netlify CMS 安装到我的博客。我一直在学习 adding Netlify CMS to existing blog and also referred to this doc.

的教程

重现步骤

这是我的回购 link: https://github.com/mohammedasker/blogger

  1. 克隆我的 repo 并转到项目目录
  2. 运行 npm install --save netlify-cms-app gatsby-plugin-netlify-cms

预期结果

Gatsby plugin for Netlify CMS安装成功。

实际结果

为 Netlify CMS 安装 Gatsby 插件时出错。

这是我从终端获得的错误日志:

npm ERR! code EPERM
npm ERR! syscall unlink
npm ERR! path C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, unlink 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist'
npm ERR!  [OperationalError: EPERM: operation not permitted, unlink 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist'] {
npm ERR!   cause: [Error: EPERM: operation not permitted, unlink 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist'] {
npm ERR!     errno: -4048,
npm ERR!     code: 'EPERM',
npm ERR!     syscall: 'unlink',
npm ERR!     path: 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist'
npm ERR!   },
npm ERR!   stack: "Error: EPERM: operation not permitted, unlink 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist'",
npm ERR!   errno: -4048,
npm ERR!   code: 'EPERM',
npm ERR!   syscall: 'unlink',
npm ERR!   path: 'C:\Users\User\Desktop\Mohd Projects\blogger\node_modules\@emotion\weak-memoize\dist',
npm ERR!   parent: 'blogger'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It's possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

环境

 System:
    OS: Windows 10 10.0.18363
    CPU: (4) x64 Intel(R) Core(TM) i5-7200U CPU @ 2.50GHz
  Binaries:
    Node: 12.13.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.21.1 - ~\scoop\apps\yarn\current\Yarn\bin\yarn.CMD
    npm: 6.12.0 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: 44.18362.449.0
  npmPackages:
    gatsby: ^2.23.18 => 2.24.11
    gatsby-image: ^2.4.12 => 2.4.13
    gatsby-plugin-emotion: ^4.3.9 => 4.3.10
    gatsby-plugin-manifest: ^2.4.17 => 2.4.21
    gatsby-plugin-netlify: ^2.3.10 => 2.3.11
    gatsby-plugin-offline: ^3.2.16 => 3.2.21
    gatsby-plugin-react-helmet: ^3.3.9 => 3.3.10
    gatsby-plugin-sharp: ^2.6.17 => 2.6.22
    gatsby-remark-prismjs: ^3.5.9 => 3.5.10
    gatsby-remark-reading-time: ^1.1.0 => 1.1.0
    gatsby-source-filesystem: ^2.3.18 => 2.3.23
    gatsby-transformer-remark: ^2.8.23 => 2.8.27
    gatsby-transformer-sharp: ^2.5.10 => 2.5.11
  npmGlobalPackages:
    gatsby-cli: 2.12.60

我尝试过的东西

我尝试在其他 Gatsby 项目中安装该插件,并再次 运行 将命令作为 root/Administrator(命令提示符)。不幸的是,其中 none 个有效。

在 运行 gatsby develop 之前安装 Gatsby plugin for Netlify CMS 插件已解决问题。

如错误所示:

The operation was rejected by your operating system. It's possible that the file was already in use (by a text editor or antivirus),

在没有 运行 的情况下重试相同的操作 gatsby develop

错误的发生是因为当 运行 a gatsby develop 您正在读取您的 node_modules 文件夹时,因为很多功能都使用它(如导入、实时重新加载等)。当程序正在读取这些文件时,系统无法覆盖或 install/add 来自其他来源的新文件夹(在本例中为 npm),因为您的操作系统正在使用它们。