【问题标题】:Yarn package won't upgrade globally (after migrating from NPM)Yarn 包不会全局升级(从 NPM 迁移后)
【发布时间】:2017-10-18 13:18:13
【问题描述】:

我试图运行yarn global upgrade generator-jhipster,但即使它似乎正在运行并安装最新版本,当我运行yo jhipster时它仍然是旧版本,并会提示我运行yarn global upgrade generator-jhipster

我在 OSX (Mac) 上运行

我最近才开始使用 Yarn。我之前使用过 NPM,但卸载了 NPM。

$HOME/.config/yarn/global/node_modules/.bin 在我的路上,所以这不是问题。

【问题讨论】:

    标签: macos npm jhipster yarnpkg yo


    【解决方案1】:

    当我从 NPM 切换到 Yarn 时,我在卸载 NPM 之前没有删除 NPM 安装的包。因此,当通过 Yarn 添加全局包时,符号链接仍然与 NPM 安装相关联。这导致我在通过 Yarn 全局升级/添加软件包时遇到问题,因为它没有指向 Yarn 管理的新版本。

    (我通过 Homebrew 安装了 Node 和 NPM,这就是我最终重新安装 NPM 的方式:)

    brew uninstall --force yarn
    brew uninstall --force node
    brew install node
    

    然后我删除了所有 NPM 的全局模块,因为我现在想专门使用 Yarn。 (在执行此操作之前,请确保您确实希望删除所有这些!您可能需要运行 npm list -g --depth=0 以查看 NPM 为您管理的内容,以便您可以使用 Yarn 重新安装)(这并不在 Windows 上工作,对于 Windows 版本,请参阅 Ollie Bennett's Answer

    npm ls -gp --depth=0 | awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' | xargs npm -g rm
    

    这是它的工作原理:Taken from Kai Sternad's Answer

    • npm ls -gp --depth=0 列出所有全局顶级模块(参见 ls 的 cli 文档)
    • awk -F/ '/node_modules/ && !/\/npm$/ {print $NF}' 打印所有实际上不是 npm 本身的模块(不以 /npm 结尾)
    • xargs npm -g rm 全局删除所有通过前一个管道的模块

    然后,重新安装纱线。 brew install yarn

    确保您的路径中有$HOME/.config/yarn/global/node_modules/.bin。 (见Yarn Path Setup

    在 Mac 或 Linux 上:

    export PATH="$PATH:`yarn global bin`:$HOME/.config/yarn/global/node_modules/.bin"
    

    然后安装 yo 和 generator-jhipster(我已经通过 Yarn 删除了这些)(参见 Installing JHipster

    yarn global add yo
    yarn global add generator-jhipster
    

    添加终于全局更新到最新版本了!

    【讨论】:

      【解决方案2】:

      如果您按照已接受答案中的步骤操作后在 Mac OS Sierra 上仍有问题,请尝试使用以下命令:

      curl -o- -L https://yarnpkg.com/install.sh | bash
      

      直接来自Yarn's alternative install methods page

      我在 macOS Sierra v10.12.5 上,通过 Homebrew 安装了 Node 和 Yarn。节点是 8.5.0 版本。 NPM 是 5.3.0 版本。

      Yarn 在 v0.24.6 上。升级到 v1.0.2。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-18
        • 2012-02-14
        • 1970-01-01
        • 2018-06-13
        • 2021-05-01
        • 1970-01-01
        • 2021-01-19
        • 1970-01-01
        相关资源
        最近更新 更多