165

我正在使用 Yarn v0.16.1。如果我理解正确(根据文档),yarn global add <package>应该相当于npm install -g <package>. 但是,当我在文档中运行示例时(使用create-react-app),该命令成功运行,但create-react-app随后无法从命令行使用。这是输出:

$ yarn global add create-react-app
$ yarn global v0.16.1
[1/4]   Resolving packages...
[2/4]   Fetching packages...
[3/4]   Linking dependencies...
[4/4]   Building fresh packages...
success Installed create-react-app@0.6.0 with binaries:
  - create-react-app
✨  Done in 3.22s.
$ create-react-app --help
-bash: create-react-app: command not found

使用 npm 进行全局安装具有预期的结果,并且一切正常。纱线我缺少什么?

4

12 回答 12

265

您应该添加export PATH="$PATH:$(yarn global bin)"到您的~/.bash_profile或您使用的任何内容中。它会解决这个问题。

根据您的安装方式,Yarn 的全局文件夹会因某种原因而有所不同。您可以在此处关注此问题。

于 2016-10-30T20:40:25.547 回答
85

2018 年 12 月更新

只是更新路径对我不起作用。我还必须设置纱线前缀。

  • Ubuntu 18.04.1 LTS(仿生)
  • 纱线 1.12.3
  • npm v3.5.2
  • 节点 v8.10.0
  • zsh 5.4.2

脚步

  1. 确认您的全局 bin 路径

    yarn global bin
    

我有:/home/username/.yarn/bin

  1. 设置纱线前缀:

    确保您的纱线前缀是您的 bin 目录的父目录。您可以通过运行确认

    yarn config get prefix
    

    当我运行这个时,我的前缀是空的,所以我设置了它:

    yarn config set prefix ~/.yarn
    
  2. 将以下内容添加到 ~/.bash_profile 或 ~/.bashrc

    export PATH="$PATH:`yarn global bin`"
    

    对于 zsh 用户,请务必将此行添加到 ~/.zshrc

  3. 重新启动你的 shell 或开始一个新的

    bash -l或者zsh

于 2018-12-21T05:16:10.777 回答
14

在我的情况下yarn global bin没有工作。

试试brew reinstall yarn如果你是这样安装的yarn

于 2019-08-19T14:48:45.427 回答
10

遇到这个问题,但在 Windows 系统上。我所要做的就是将 yarn 全局 bin 添加到 PATH 变量中。

setx path "%path%;c:\users\YOURUSERNAME\appdata\local\yarn\bin"

请记住将 YOURUSERNAME 更改为您的帐户用户名。

您可以通过运行检查您的全局 bin 在哪里

yarn global bin

请不要忘记重新启动您正在处理的 CMD 窗口。快乐编码!

!警告 !

在执行命令%path%;时,你的yarn目录前面的那个很重要。如果您不键入它,您肯定会替换所有系统环境变量。

选项 2

更安全的选择是只去系统属性>高级>环境变量>选择PATH单击编辑>然后附加而不是替换;c:\users\YOURUSERNAME\appdata\local\yarn\bin

于 2020-02-27T15:03:33.447 回答
6

要重新安装,请在下面运行。

brew install -g yarn

// 注意:(更新自制软件)适用于 Mac 用户。

brew reinstall yarn

//(如果仍然没有找到纱线)

于 2019-11-16T04:49:24.757 回答
4

对于 macOS,您只需要一步,

export PATH=~/.yarn/bin:$PATH
于 2021-02-12T04:44:53.843 回答
3

AndrewD 给出了一个很好的答案,但对于那些在 Windows 上的人来说,这有点不同,尤其是第 3 步。

请不要setx像@Thapedict 所说的那样使用该命令。它将删除您以前拥有的所有路径,并仅将其替换为给定目录。如果你想使用 setx,我认为可能有一个标志可以让它附加现有的路径变量,但我不知道是哪个。仅使用 setx 不会附加到它。

我只会做系统属性>高级>环境变量>编辑路径>新建> c:\users\YOURUSERNAME\appdata\local\yarn\bin

以确保您不会删除以前的变量。

于 2020-10-29T08:48:25.527 回答
2

在 Ubuntu 上,我通过安装这样的包来修复:

sudo yarn global add <package> --prefix /usr/local
于 2019-12-22T11:46:17.133 回答
2

这是我在 Mac OSX El Capitan 上使用的过程。

  1. 如果您已经安装了 yarn(我使用了 Curl 命令),请尝试安装它。如果它已经安装,这将出现,并将为您提供它存在的当前目录。

像这样:

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

它将显示如下内容:

Installing Yarn!
> /Users/{Your Username}/.yarn already exists, possibly from a past Yarn install.
> Remove it (rm -rf /Users/{Your Username}/.yarn) and run this script again.

不要删除它。继续进行第 2 步。

  1. 复制上面列出的目录。打开您的个人资料。我正在使用zsh。所以我的是~/.zshrc您可以在此处找到您的信息和更多信息。

  2. 复制以下内容(根据需要替换您的目录和用户名详细信息,即您从安装错误消息中获得的内容)。

    alias yarn="/Users/{Your Username}/.yarn/bin/yarn"

  1. 尝试运行yarn version以检查其是否正常工作。如果是,您应该会在终端中看到版本号。

就是这样,什么对我有用。

于 2020-09-25T13:39:52.580 回答
1

从 bash 切换到 zsh 时,我遇到了同样的错误,它对我有用:

in your .zshrc 

# NVM Stuff
export NVM_DIR="$HOME/.nvm"
. "$(brew --prefix nvm)/nvm.sh"

# YVM Stuff
export YVM_DIR="$HOME/.yvm"
. "$(brew --prefix yvm)/yvm.sh"

据我了解,我的错误是由于无法访问版本管理器

于 2019-10-24T08:17:52.257 回答
1

在安装 Yarn 然后 Vue Cli 之后,我在 Windows 上遇到了类似的问题。软件包已安装但无法访问。问题是安装 yarn 包的目录不在 PATH 中。

在我的例子中,Yarn 包的默认安装目录是 C:\Users\USERNAME\AppData\Local\Yarn

因此,请确保将此目录添加到路径中。

于 2021-07-28T19:32:11.193 回答
0

提出这个答案,希望它可以进入谷歌并帮助其他人。

使用 yarn global add expo-cli 后找不到 expo 命令在 ubuntu 20.04 中不起作用

于 2021-11-24T17:53:18.883 回答