【问题标题】:Where is Yarn storing offline packages?Yarn 在哪里存储离线包?
【发布时间】:2017-12-23 13:21:41
【问题描述】:

我正在尝试为此 repo 安装所有依赖项: https://github.com/react-community/react-navigation

问题是 Yarn 似乎在缓存目录以外的地方存储了离线包,并且它很快耗尽了我系统驱动器中的空间。我清理了缓存(yarn cache clean)并删除了模块文件夹(node_modules/),然后运行yarn,果然它在不到 5 分钟的时间内安装了大约 4GB 的依赖项(互联网连接为 2 MBits)

附带说明一下,我想知道是否有办法在 yarnnpm 中禁用缓存。

【问题讨论】:

    标签: node.js react-native npm yarnpkg


    【解决方案1】:

    您可以运行yarn cache dir 来列出您系统上的缓存位置。

    【讨论】:

    • 如果您像我一样更改了缓存目录 (yarn config set cache-folder ~/Desktop/folder) 并尝试将其设置回来(在 mac os 上)..默认似乎是 /Users/USERNAME/Library/Caches/Yarn/
    【解决方案2】:

    正如https://github.com/yarnpkg/yarn/issues/2049 所说,它们存储在这个位置:

    %LOCALAPPDATA%/Yarn/config/global on Windows  
    ~/.config/yarn/global on OSX and non-root Linux
    /usr/local/share/.config/yarn/global on Linux if logged in as root
    

    我认为禁用缓存目前是 yarn 的一个开放主题:https://github.com/yarnpkg/rfcs/pull/53

    【讨论】:

    • Linux:/usr/local/share/.cache/yarn/v4/
    • 自从给出答案后,这可能在 Mac OS X 上发生了变化。由于这取决于版本,因此不妨坚持使用@safety 的答案,使用yarn cache dir
    • 在 Linux 上对我来说似乎不正确。请参阅@safety 的答案。
    • 目前Yarnv1中缓存目录的逻辑在这里:github.com/yarnpkg/yarn/blob/…
    • 上述逻辑中一个值得注意的问题是,对于 root,userHome 不是$HOME(通常是/root)而是/usr/local/share
    【解决方案3】:

    对于它的价值,所有具有默认纱线版本和缓存位置的节点版本:-

    ❯ for i in boron carbon dubnium erbium fermium; \
           docker run -it node:$i bash -c "yarn --version && yarn cache dir"
    1.15.2
    /usr/local/share/.cache/yarn/v4
    1.21.1
    /usr/local/share/.cache/yarn/v6
    1.22.4
    /usr/local/share/.cache/yarn/v6
    1.22.4
    /usr/local/share/.cache/yarn/v6
    1.22.5
    /usr/local/share/.cache/yarn/v6
    

    【讨论】:

      【解决方案4】:

      Gavin Gilmour 出色答案的更新和扩展版本:

      作为根

      boron
      1.15.2
      /usr/local/share/.cache/yarn/v4
      carbon
      1.21.1
      /usr/local/share/.cache/yarn/v6
      dubnium
      1.22.5
      /usr/local/share/.cache/yarn/v6
      erbium
      1.22.17
      /usr/local/share/.cache/yarn/v6
      fermium
      1.22.15
      /usr/local/share/.cache/yarn/v6
      gallium
      1.22.15
      /usr/local/share/.cache/yarn/v6
      

      作为用户

      在 CLI 中使用 --user node 或在 Dockerfile 中为无根容器使用 USER node 时:

      boron
      1.15.2
      /home/node/.cache/yarn/v4
      carbon
      1.21.1
      /home/node/.cache/yarn/v6
      dubnium
      1.22.5
      /home/node/.cache/yarn/v6
      erbium
      1.22.17
      /home/node/.cache/yarn/v6
      fermium
      1.22.15
      /home/node/.cache/yarn/v6
      gallium
      1.22.15
      /home/node/.cache/yarn/v6
      

      不知道为什么纱线在后两者中倒退,但我也用这些版本的其他标签验证了它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-02-06
        • 1970-01-01
        • 2012-03-10
        • 2013-11-02
        • 2016-08-09
        • 2022-08-12
        • 2019-04-30
        相关资源
        最近更新 更多