npm错误!EPERM:操作不允许,scandir

8
我们的部署流程使用Jenkins,但有时我们的构建会失败,并出现以下错误。我们正在使用npm版本:6.7.0。非常感谢您的帮助!

我认为我遇到了类似的问题,最好的解决方法是用实际文本替换图像。 - Bogdan
在我的情况下,在 SvelteKit 中,当我尝试使用 <style lang="postcss"> 时,它会给我报错。结果发现我没有执行 npm i -D postcss... 如果其他人有同样的问题,这可能是解决方案。 - Laaouatni Anas
5个回答

7
我认为问题是“另一个进程正在使用该文件夹”,因此它被锁定,可能是由于之前的构建。我建议您尝试以下方法来解决您的问题:
  1. 以管理员身份运行构建工具,看看是否解决了权限错误。
  2. 在安装之前清除npm缓存:npm cache clean --force
  3. 请考虑使用yarn进行依赖管理。
希望这能有所帮助!

2
在我的情况下,该文件夹正在被其他终端进程使用。谢谢! - iconique

3

现在是2022年,我仍然遇到了这个问题。如果你也有类似的问题,以下是我解决它的方法。(记得以管理员身份启动cmd)。

  1. 停止你正在运行的服务器(ctr + C)
  2. npm cache clean --force

问题已解决。


3

对于MacBook-

  1. 打开系统偏好设置
  2. 然后选择安全性与隐私
  3. 接下来进入顶部选项卡-在隐私
  4. 在左边,您将看到完全磁盘访问
  5. 对于完全磁盘访问,这里将列出一个列表,必须选择终端,如果未选择
  6. 如果没有终端选项。 然后通过单击+加号添加它,您将进入Finder
  7. 在左侧选择应用程序
  8. 然后,进入实用工具 9.在实用工具中,您将看到终端,选择它并单击打开按钮

就是这样

现在,您将不会收到错误- npm ERR!EPERM:操作不允许,scandir


1
这对我们有用:

npm cache clean --force

0

我已经安装了Node.js插件。我添加了Node.js 8.15.0版本的安装程序。

输入图像描述

我配置了作业,使其使用了这个输入图像描述,这解决了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接