是我还是yarn出了问题?

6

apt 对我来说非常好用。很少出现问题,而且修复起来很容易。

conda 对我来说非常好用。很少出现问题,而且修复起来很容易。

但是,我似乎总是无法让yarn正常工作。总是出现一些奇怪的问题,比如node版本或gyp库的问题。即使我解决了所有这些问题,我也会收到很多警告,然后出现错误,例如:

error An unexpected error occurred: "ENOENT: no such file or directory, lstat '/home/balter/.cache/yarn/v4/npm-tar-fs-1.16.3-966a628841da2c4010406a82167cbd5e0c72d509/node_modules/tar-fs/test/fixtures/a/hello.txt'".

原来如果我再次运行yarn install,会发现缺少另一个文件。只是出于好玩,我做了这个操作。
for i in {1..100}; do yarn install; done

每次出错的文件都不同,但从未成功过。

是我太菜还是yarn真的很脆弱?如果我想从github安装一个包,并且安装说明使用yarn,有没有绕过使用yarn的方法?

此外,没有“yarn”标签。


如果你所说的“干净机器”是指删除所有节点缓存和yarn缓存,那我已经做过了。但我的机器是我的笔记本电脑,我不会为了安装一些软件包而将其擦除(在这种情况下,是Theia IDE)。我不需要为aptconda创建“干净机器”。 - abalter
您可以在虚拟机(VirtualBox等)中创建一个干净的机器。这样,您的主要开发机器将保持完好无损。 - Sergio Tulentsev
当然,如果每次我想做某事就要创建VM,那我就不会感兴趣了。 我只想像使用VSCode、Atom、Brackets、gedit、kate等一样,在我的笔记本电脑上以桌面ide的方式运行theia。 我可以轻松安装其中任何一个。 - abalter
我明白了!那确实有道理。我尝试了从头开始做所有事情,删除所有文件和缓存文件。我还尝试使用一个带有自己的nodejsyarnconda环境。但是它引用了相同的~/.cache/yarn目录。我会尝试你所说的方法。 - abalter
我遇到了这个问题,我已经尝试使用最新的Yarn清除缓存并在CI上进行干净的构建,但都没有效果。现在我被迫放弃Yarn,转而依赖npm。 - Kenneth Lynne
显示剩余2条评论
3个回答

1
我遇到了同样令人沮丧且难以调试的错误。在我的情况下,问题似乎是由不同包中相同依赖项的版本差异(特别是ava版本2和3)引起的yarn workspace行为。只有当我将所有的ava实例升级到最新版本后,才停止出现这个错误。

1

我曾经在WSL中遇到过同样的问题,通过使用yarn cache clean进行修复。


0

我在Windows 10上遇到了同样的问题。我尝试了yarn cache clen,因为我发现tar-fs依赖项在进入缓存路径(C://...AppData/Local/Yarn/Cache/npm-tar-fs...)时已经损坏。

我发现使用yarn cache clean会删除除这个已损坏的文件之外的所有缓存文件。我还尝试手动删除它,但Windows不允许。

所以解决方案是进入cmd并使用命令DEL /F /Q /A <File Path>从那里删除它。

之后我再次运行yarn install,它就可以工作了!


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