您要请求_feature_还是报告_bug_?
虫子
目前的行为是什么?
对纱线执行任何操作(例如添加)时,将出现以下错误:
EPERM: operation not permitted, open 'C:\foo\node_modules\firebase\app-node.js'
at Error (native)
如果当前行为是错误,请提供重现步骤。
要解决此问题,请右键单击node_modules文件夹,然后取消选中“只读”。 等待。 重新运行yarn命令。 现在它像魔术一样起作用了! 完成纱线操作后,所有文件均恢复为只读状态。
预期的行为是什么?
不必将文件标记为可读。
请提及您的node.js,yarn和操作系统版本。
节点v6.3.1
纱线v0.15.1
Windows 10(周年纪念版)
要解决此问题,请右键单击node_modules文件夹,然后取消选中“只读”。
是Yarn将node_modules
标记为只读,还是其他方式? 我无法使用全新的应用程序(即yarn init && yarn add react
)在Windows上进行复制
嗨@ Daniel15
您能在干净的目录中尝试一下吗?
yarn init
yarn add firebase
yarn add react
最后一条命令给我:
C:\Dev\yarntest>yarn add react
yarn add v0.15.1
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
error EPERM: operation not permitted, open 'C:\Dev\yarntest\node_modules\firebase\app-node.js'
at Error (native)
info Visit http://yarnpkg.com/en/docs/cli/add for documentation about this command.
我不确定firebase软件包是否有此功能?
为了澄清; 我尝试了相同的步骤,但使用react和eslint并没有看到相同的错误。
感谢您的信息! 我可以在Windows上复制该问题,但不能在Debian Linux上复制。
我会说这更多是“严重错误”,因为它甚至在使用firebase
模块的任何项目中都无法使用Yarn。
递归删除_read-only_标志是可行的,但只是暂时的。 即使只运行yarn
也会重新运行整个linking dependencies
阶段,并返回这些_read-only_标志。
使用yarn init
创建新项目并安装任何单个依赖项集_read-only_标志到node_modules
开始的所有目录(不是文件)。 但是,在firebase
模块的情况下,由于某种原因,文件也是_read_only_。 使用NPM进行相同的操作不会将_read_only_设置为文件。
是的,这很烦人。
@ Daniel15
我安装了该软件包的另一个问题是,在安装后的步骤中,它设置了chmod some-file 400
,而某些操作yarn对该文件失败,并出现类似的错误(如果我将权限设置为644,它可以正常运行)。 因此,我希望您能解决原始问题,而我的问题也不会解决。
@Tapppi (问题引用)
PS关于#992,您可能可以编写一个oneliner“后安装”脚本来在每次安装后修复权限。
那会抹掉Yarn的用处,你不觉得吗? 删除那些只读标志会使Yarn再次执行整个链接过程。 只有性能节省才需要使用缓存,而不是每次都通过网络下载。
@FredyC我看不到安装后脚本如何消除纱线的用处? 安装时,它仍可能比npm快许多倍,并且具有锁定文件。 如果那使纱线对您不受欢迎,我认为就目前的形式而言,纱线还是不受欢迎吗?
也遇到这种情况。 我的项目没什么特别的,我现在通过吹掉我的node_modules
文件夹来购买新软件包来解决它。
希望这个问题能尽快解决,谢天谢地的纱线是如此之快! ;)
好吧,这很有趣。 如果您下载firebase模块的实际压缩包,则这些只读属性已经存在! ... https://registry.npmjs.org/firebase/-/firebase-3.4.1.tgz
这意味着这并非完全是纱线故障。 我认为NPM所做的不同是在安装时实际上删除了该标志。 从本质上讲,这可能是Yarn也应该做的解决方案,因为您永远不知道其他什么模块会受到这种影响。
我实际上已经尝试将自己的软件包发布
因此,我向Firebase提出了支持请求,以查看他们在发布过程中是否可以更改某些内容。
我们能否希望在将来的Yarn版本中使用NPM方法或其他方式处理这种情况。
仅供参考,如果您先删除Firebase,然后添加所需的程序包,最后再添加Firebase,它也将起作用。 那么在删除Firebase时,Yarn是否会更新权限?
@ vijay-stayntouch不,Yarn对此没有任何作用。 主要问题是,如果您的Firebase带有只读标志,并且由于某些原因必须执行“链接依赖项”过程,则它无法接触这些文件,并且会失败。 尽管我不太确定,但是Yarn实际上有可能使用只读标志删除那些文件。
嘿,这里的Firebase工程师。 我们将通过确保下一个版本不再包含只读文件来解决此问题。 话虽如此,这看起来确实是意外的行为,并且很可能应该在npm中全面修复Yarn。 谢谢!
这是与#872相同的问题吗?
对于对此有麻烦的每个人来说都是个好消息。 有一个新的firebase模块3.6.2,没有只读标志,并且现在可以正常工作。
我建议以#961结尾关闭该代码,该代码更通用,并且仅与Yarn相关。
@FredyC好消息!
问题仍然悬而未决:是否还有其他软件包将其代码设为只读。 同样的问题将再次发生。
@ vijay-stayntouch是的,这就是#961应该真正尝试解决的问题。
我对yarn add react-hot-loader --dev
有同样的问题:
yarn add v0.20.3
[1/4] Resolving packages...
[2/4] Fetching packages...
warning [email protected]: The platform "linux" is incompatible with this module.
info "[email protected]" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
error An unexpected error occurred: "EPERM: operation not permitted, utime '/home/syd/Work/taxibs/zaher/node_modules/source-map/README.md'".
info If you think this is a bug, please open a bug report with the information provided in "/home/syd/Work/taxibs/zaher/yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/add for documentation about this command.
我正在执行yarn cache clean
并再次执行yarn add ...
,但问题仍然存在。
我在Ubuntu 16.04上
节点v6.9.4和npm v3.10.10
我遇到了同样的问题-唯一可行的解决方案是使用rimraf node_modules
删除node_modules文件夹,然后使用yarn
重新安装所有软件包。
我经常发现使用npm或yarn安装软件包的问题,我的解决方法是转到文件管理器,右键单击/ node_modules主文件夹,选择属性,然后取消选中“只读”。 您也可以在命令行中使用attrib来执行此操作。 然后,重试安装即可。
遇到此错误,因为我试图在节点服务器运行时执行yarn
命令。 哎呀! 有人。
尝试提供多种解决方案(包括只读的取消选中)-不起作用
版本
节点v6.11.1
纱v0.27.5
Windows 10
错误:“ EPERM:不允许操作,取消链接'D:\ urp \ node_modules \ node-sass \ vendor \ win32-x64-48 \ binding.node”
_ran:_
$ yarn check --integrity
_收到:_
错误锁文件不包含模式:“ material-ui@^0.19.0”
错误锁文件不包含模式:“ [email protected] ”
错误锁文件不包含模式:“ npm-run-all@^4.1.1”
错误锁文件不包含模式:“ react@^15.6.1”
错误锁文件不包含模式:“ react-dom@^15.6.1”
错误锁文件不包含模式:“ react-router-dom@^4.2.2”
错误锁文件不包含模式:“ react-tap-event-plugin@^2.0.1”
错误找不到完整性文件
任何帮助都会很棒!
是的,在Win中执行时有时会很糟(例如在Win中开发Ionic2 / 3,永久地抛出EPERM
错误,例如安装/ mod npm包和其他东西); 它可能被防病毒软件引用; 从所有node_modules
取消选中read only
attr;
另外,尝试将.npmrc文件添加到您的unsafe-perm=true
; 将相同的文件添加到项目的根目录; 不得已:以管理员身份运行powershell并用Start-Process powershell -Verb runAs
提升-将打开新的提升的powershell窗口,该窗口应该能够运行
在Windows上,请确保以“以管理员身份”运行命令提示符。 :: facepalm ::
尝试了此处列出的所有内容-我能够解决的唯一方法是:
npm install -g rimraf
rimraf node_modules
如@domjtalbot所建议。
当您有两个纱线实例试图在不同项目中安装软件包时,也会发生这种情况
我也是npm 5.8.0,@ domjtalbot和@ James-E-Adams指出了唯一的一项工作
当我的服务器运行nodemon
,然后添加软件包yarn add bcrypt
时,我遇到了同样的问题。 使用@rmorrise的注释可以解决我的问题。永远不知道服务器的运行会影响安装。
如果yarn
可以检测到这种情况并抛出有意义的警告,则@rmorrise +1是合乎逻辑的。
有关信息:取消软件包(ctrl + c)的安装并尝试随后再安装另一个软件包后,我遇到了同样的问题。 我也有一个正在运行的服务器,但是之前添加其他软件包时并没有引起错误。
现在,我已经多次遇到此错误,只有重新启动Windows才有帮助。
我遇到了同样的问题。 导致此错误的原因是在Windows bash的ubuntu中运行create-react-app开发服务器。 停止服务器即可解决问题。
现在,我已经多次遇到此错误,只有重新启动Windows才有帮助。
通常,我更喜欢不赞成这样的答案,但这实际上是唯一对我有用的东西。
现在,我已经多次遇到此错误,只有重新启动Windows才有帮助。
这确实对我有用。
至少对我来说,这似乎是由打开vscode引起的。
确保在npm install
之前关闭您的应用程序(角度,反应等)。
@ScottGuymer
我不敢相信这行得通
谢谢您的解决方案
@Gameghostify我要么😄
别客气。
检查您是否正在运行节点进程,如果已关闭则将其关闭,然后重试
我是从vscode终端运行yarn的,所以我重新启动了vscode,就可以了
是的,在Win中执行时有时会很糟(例如在Win中开发Ionic2 / 3,永久地抛出
EPERM
错误,例如安装/ mod npm包和其他东西); 它可能被防病毒软件引用; 从所有node_modules
取消选中read only
attr;
另外,尝试将.npmrc文件添加到您的forlder(c:/ users /)中,内容unsafe-perm=true
; 将相同的文件添加到项目的根目录; 不得已:以管理员身份运行powershell并用Start-Process powershell -Verb runAs
提升-将打开新的提升的powershell窗口,该窗口应该能够运行
确实有效。 谢谢。
@ Gayathri-K-2000您能否提供更多详细信息? 我面临着同样的问题,但是没有用。 请提供您可能采取的措施的示例。 谢谢!
@ Gayathri-K-2000您能否提供更多详细信息? 我面临着同样的问题,但是没有用。 请提供您可能采取的措施的示例。 谢谢!
我未选中节点模块属性中的“只读”,并以管理员身份运行cmd。 有用。
检查您是否正在运行节点进程,如果已关闭则将其关闭,然后重试
这的确是我的问题。 React应用程序也是如此,例如,当系统提示您安装node-sass
-您无法在应用程序运行时执行此操作。 谢谢大家!
最有用的评论
遇到此错误,因为我试图在节点服务器运行时执行
yarn
命令。 哎呀! 有人。