我刚刚将npm
更新为5.4.0
现在,每当我想安装一个npm包时,我都会收到以下错误:
D:\Sources\DownloadCms\Md.Download\Web.Angular>npm install mds.angular.datetimepicker@latest --save
npm ERR! path D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json'
npm ERR! at Error (native)
npm ERR! { Error: EPERM: operation not permitted, unlink 'D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.jso
n'
npm ERR! at Error (native)
npm ERR! stack: 'Error: EPERM: operation not permitted, unlink \'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\ab
brev\\package.json\'\n at Error (native)',
npm ERR! errno: -4048,
npm ERR! code: 'EPERM',
npm ERR! syscall: 'unlink',
npm ERR! path: 'D:\\Sources\\DownloadCms\\Md.Download\\Web.Angular\\node_modules\\fsevents\\node_modules\\abbrev\\package.json' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Mohammad\AppData\Roaming\npm-cache\_logs\2017-09-03T03_25_50_432Z-debug.log
我不确定,以管理员身份运行CMD
。
我还检查了D:\Sources\DownloadCms\Md.Download\Web.Angular\node_modules\fsevents\node_modules\abbrev\package.json\
,路径中不存在package.json
!
修改 升级到v5.4.1,仍然会得到相同的错误,甚至无法解决--no-optional: - (
答案 0 :(得分:40)
这是一个npm 5.4.0问题https://github.com/npm/npm/issues/18287
解决方法
npm install --no-optional
答案 1 :(得分:35)
我能够通过以管理员身份运行命令提示符/ bash并关闭VSCode来解决此问题! 似乎VSCode正在锁定某些文件。 可能还有其他事情可能会为您锁定这些文件。
答案 2 :(得分:12)
如果你降级到5.3并且仍然像我一样在Windows中得到同样的错误
使用npm版本工作数小时后,我找到了以下解决方案:
1. 下载nodejs
的最新推荐版本,这些天是node-v6.11.3-x64
2。用它卸载nodejs
3。转到C:\Users\{YourUsername}\AppData\Roaming
文件夹并删除npm
和npm-cache
个文件夹
4. 再次运行nodejs
的安装程序并安装它
5 使用npm i -g npm@5.3
命令行更新npm到5.3
现在你应该使用npm而没有任何问题。
答案 3 :(得分:9)
我通过将npm从5.4.0降级到版本5.3来修复
npm i -g npm@5.3
我希望这对你有帮助
答案 4 :(得分:4)
答案 5 :(得分:3)
我遇到了同样的问题,我要做的就是登录npm
npm login
或者
npm add user
//请查阅文档以获取参数
答案 6 :(得分:2)
对我而言,它在git包中使用bash 尝试:
C:\Program Files\Git\bin\bash.exe
然后:
npm install mds.angular.datetimepicker@latest
答案 7 :(得分:2)
似乎有很多解决方案适用于降级npm版本。对我来说,解决方案是
npm install -force
我尝试降级npm版本,修改我的npm前缀配置以匹配npm目录,并清除缓存。这些都不起作用,但显然它们适用于其他人,所以它可能值得一试。
答案 8 :(得分:2)
我在Windows上遇到了同样的问题。
问题的根源很简单,它是对文件夹和文件的访问权限。
您需要在项目文件夹中
之后,将不再显示错误“ 错误:EPERM:不允许进行操作,取消链接”。
请记住在必要时重新激活防火墙和防病毒软件。
答案 9 :(得分:1)
就我而言,问题在于,我没有安装打字稿。虽然我确实安装了Node和Angular。 检查您是否已安装打字稿
Run this command: tsc -v
如果没有,则安装打字稿
Run this command: npm install -g typescript
最后安装必需的依赖项
Run this command: npm install
在项目的根文件夹中。
----希望这对某人有帮助----
答案 10 :(得分:1)
我通过删除 dist 文件夹解决了这个问题
--- 删除 dist 或 public 文件夹
答案 11 :(得分:1)
删除我的节点模块文件夹并运行普通的 npm install 为我做到了
答案 12 :(得分:1)
我的原因是在2个不同的终端上打开了我的项目文件夹。我通过关闭所有正在运行的终端(排除了代码)并再次执行安装命令来解决。
我希望这对某人有帮助。
注意::删除node_modules无法解决问题。
答案 13 :(得分:1)
我正在使用VsCode
,并通过停止应用程序服务器并运行npm install
来解决了此问题。有些文件已被应用服务器锁定。
无需关闭IDE,只需确保没有其他进程可以锁定项目中的某些文件。
答案 14 :(得分:1)
npm install npm@5.3 -g
答案 15 :(得分:1)
对于Windows上的我来说,问题是路径长度太长。我将项目移到了更短的路径,并且有效。
答案 16 :(得分:1)
我想从外部硬盘驱动器运行npm install,因为这是我保存代码工作区的地方。 Windows 10操作系统。
但是我收到了与原帖相同的错误。以前的答案中没有一个对我有用,我尝试了所有这些:
对我有用的是:
答案 17 :(得分:1)
已在NPM 5.6.0中修复
升级到NPM 5.6.0解决了我的问题。
答案 18 :(得分:0)
这是唯一对我有用的东西:
npm cache clean --force
npm install -g npm@latest --force
rm package-lock.json
npm i -force
答案 19 :(得分:0)
对于那些来自 Windows 操作系统的用户,您只需停止开发服务器,然后执行您的 npm install ...
命令。
奇怪的是,Windows 不允许在服务器运行时安装依赖项,但 MacOS 允许。 如果这不起作用,那么只能选择其他选项 - 清理缓存、降级 nodejs 等。
答案 20 :(得分:0)
对我来说 npm cache clean --force
然后重启
工作正常!
答案 21 :(得分:0)
对我来说是 Docker...
关闭应用程序容器的那一刻,我可以毫无问题地进行 npm install
P.S 我的节点版本是 14.15.5
答案 22 :(得分:0)
这对我来说很神奇:
npm install node-sass@^4.14.1
npm install --no-optional
P.S.:我的节点版本在 14 以上。
答案 23 :(得分:0)
对于Windows,
nodejs
的最新推荐版本,这些日期为node-v6.11.3-x64
C:\Users\{YourUsername}\AppData\Roaming
文件夹并删除npm
和npm-cache
个文件夹nodejs
的安装程序并安装npm 3.10.10
应与node-v6.11.3-x64
一起安装。 npm 3.10.10
对我有用,但与5.3.X
无效。
它也不适用于更高版本的节点(上面
node-v6.11.3-x64
)答案 24 :(得分:0)
我遇到了同样的问题,无法使用上述任何解决方案解决问题。所以我尝试将我的项目目录移动到桌面上的其他位置。然后它显示,在运行时无法执行此操作,即使我没有在任何文本编辑器中打开该文件,所以我所做的是在运行命令框中键入 resmon.exe,然后单击 CPU 选项。然后放大相关的句柄部分并键入我的项目名称目录。它显示了一些正在运行该目录的进程,因此我选择了它们并右键单击它们并单击结束进程。 然后我能够将我的项目目录剪切粘贴到桌面上的其他位置,然后我运行 npm install 命令并能够成功执行。check out this image
答案 25 :(得分:0)
以我为例,打开了VS代码,并且该应用程序也在Metro bundler上运行,因此我只需要关闭Metro bundler并再次使用install命令就可以了。
答案 26 :(得分:0)
已经看到我的Windows Defender病毒扫描程序在运行脚本时开始占用CPU,我怀疑这是实际原因,但是由于我无法在商业领域进行调整,因此< / p>
由于我的脚本在执行npm install
时失败,因此我只是尝试了
npm install --verbose
这使它可以完美运行。它可能无法解决根本问题,但是它允许我的安装至少将所有依赖项下载并提取到本地缓存一次,因此,一切工作都更加顺畅。
我认为此命令将对磁盘的写入/读取速度降低了几分之一秒,而将其写入命令提示符时,这为病毒检查程序提供了足够的时间来完成其工作,而不会在磁盘上造成死锁文件。
答案 27 :(得分:0)
尝试运行:-'rm -rf node_modules && npm i'。它对我有用。
答案 28 :(得分:0)
我只是做一个npm安装而遇到同样的问题。 在禁用防病毒的情况下运行(如果使用Windows Defender,请关闭实时保护和基于云的保护)。那对我有用!
答案 29 :(得分:0)
我在Windows中有此日志。 我做了以下
答案 30 :(得分:0)
清除缓存并npm
更新到最新,对我来说是有效的工作
npm cache clean --force
npm install -g npm@latest --force
答案 31 :(得分:0)
publish
必须先于function openModal(url) {
$('#loadingModel').modal('show'); //Open loading model
var dataURL = url;
$('.modal-body').load(dataURL, function () {
$('#myModal').modal({
backdrop: 'static',
keyboard: false
})
$('#myModal').modal({
show: true
});
$('#loadingModel').modal('hide'); //Close loading model after main model loads
});
}
答案 32 :(得分:0)
就我而言,在用于构建(Windows)的VM上运行“ npm install”的多个实例时,我遇到了类似的问题
由于它是仅用于构建的VM,因此没有其他程序可以锁定文件。我尝试禁用了各种无效的防病毒设置。 “ npm缓存清除”和“ npm缓存验证”有效,但是对我来说这不是一个正确的解决方案,因为我无法猜测何时有人会针对不同的发行版/环境从Jenkins触发构建作业,从而导致“ npm install”的多个实例,因此我无法将其添加到构建脚本中,也无法每次都登录到VM并手动清除/删除缓存文件夹。
最后,经过一番研究,我最终使用以下命令为每个作业使用单独的缓存路径运行“ npm install”:
npm install --cache path/to/some/folder
由于所有同时运行的作业现在具有单独的缓存路径,而不是公用的全局路径(Users / AppData / Roaming /),因此此问题已解决,因为作业不再尝试锁定和访问相同的文件,来自公共npm缓存。
请注意,您可以安装具有缓存路径的单个软件包,如下所示:
npm install packageName --cache path/to/some/folder
我无法在npm文档中找到这种提供高速缓存路径的方法,但是我尝试了一下并成功了。 我正在使用npm6,自npm5起,它似乎可以正常工作。
[参考:How to specify cache folder in npm5 on install command?
此解决方案也可能适用于其他情况,尽管可能合适也可能不合适。
答案 33 :(得分:0)
尝试了所有内容,包括节点/ npm升级,缓存清理和还原代码后,除了一件简单的事情外,没有任何帮助:在开发/构建期间关闭Windows 10的实时保护。看起来最新的更新使其更具攻击性。
答案 34 :(得分:0)
我只是完全关闭机器,而不是使其休眠,然后重新启动它。 以管理员身份运行CMD,并使用npm install命令。奏效了。
答案 35 :(得分:0)
删除package-lock.json已为我修复。
答案 36 :(得分:0)
关闭Visual Studio代码可以帮助我解决此问题。
答案 37 :(得分:0)
我的问题是执行命令(npm audit fix all)。我在关闭VSCODE时解决了该问题,然后重新执行了命令,没有任何问题。
答案 38 :(得分:0)
请关闭所有IDE(如Visual Studio代码)。通过node.js命令提示符运行npm install命令。 享受!
答案 39 :(得分:0)
如果以上所有方法均无法满足您的要求,则您可能希望
答案 40 :(得分:0)
npm cache verify
解决了我的问题。
我当时在做:ng new my-app
而且我遇到了类似的错误
我有
节点版本:10.16.0
npm v 6.9.0
答案 41 :(得分:-1)
只需“重新启动系统”并再次尝试删除该文件。它应该可以工作。