Yarn 包不会全局升级(从 NPM 迁移后)
Yarn package won't upgrade globally (after migrating from NPM)
我试图 运行 yarn global upgrade generator-jhipster
但即使它看起来正在运行并安装最新版本,当我 运行 yo jhipster
它仍然会使用旧版本并提示我 运行 yarn global upgrade generator-jhipster
我 运行宁 OSX (Mac)
我最近才开始使用 Yarn。我以前使用 NPM 但卸载了 NPM。
$HOME/.config/yarn/global/node_modules/.bin
在我的道路上,所以那不是问题。
当我从 NPM 切换到 Yarn 时,我在卸载 NPM 之前没有删除 NPM 安装的包。因此,当通过 Yarn 添加全局包时,符号链接仍然与 NPM 安装相关联。这导致我在全球范围内遇到问题 upgrading/adding 通过 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
添加终于全局更新到最新版本了!
如果按照接受的答案中的步骤操作后,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.
我试图 运行 yarn global upgrade generator-jhipster
但即使它看起来正在运行并安装最新版本,当我 运行 yo jhipster
它仍然会使用旧版本并提示我 运行 yarn global upgrade generator-jhipster
我 运行宁 OSX (Mac)
我最近才开始使用 Yarn。我以前使用 NPM 但卸载了 NPM。
$HOME/.config/yarn/global/node_modules/.bin
在我的道路上,所以那不是问题。
当我从 NPM 切换到 Yarn 时,我在卸载 NPM 之前没有删除 NPM 安装的包。因此,当通过 Yarn 添加全局包时,符号链接仍然与 NPM 安装相关联。这导致我在全球范围内遇到问题 upgrading/adding 通过 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
添加终于全局更新到最新版本了!
如果按照接受的答案中的步骤操作后,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.