纱线全局命令不工作

我正在处理纱线 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 进行全局安装会得到预期的结果,而且一切正常?

221791 次浏览

你应该把 export PATH="$PATH:$(yarn global bin)"加到你的 ~/.bash_profile或者其他你用的东西上,这样问题就解决了。

根据安装方式的不同,Yarn 的全局文件夹会因为某些原因而不同

2018年12月最新情况

仅仅更新路径对我来说不起作用,我还必须设置纱线的前缀。

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

步骤

  1. 确认您的全局垃圾路径

    yarn global bin
    

I got: /home/username/.yarn/bin

  1. set yarn prefix:

    make sure your yarn prefix is the parent directory of your bin directory. You can confirm by running

    yarn config get prefix
    

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

    yarn config set prefix ~/.yarn
    
  2. add the following to ~/.bash_profile or ~/.bashrc

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

    对于 zsh 用户,请确保将这一行添加到 ~/. zhrc

  3. 重新启动您的 shell 或者启动一个新的 shell

    bash -lzsh

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

如果您是这样安装 yarn的,请尝试使用 brew reinstall yarn

当从 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"

据我所知,我的错误是由于缺乏对版本管理器的访问而引起的

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

brew install -g yarn

//注意: (更新自制程序)为 Mac 用户。

brew reinstall yarn

//(如仍未找到纱线)

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

sudo yarn global add <package> --prefix /usr/local

在 Windows 系统上遇到了这个问题。我所要做的就是将纱线全局仓添加到 PATH 变量中。

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

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

您可以通过运行

yarn global bin

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

警告!

在执行命令时,您的纱线目录前面的 %path%;非常重要。如果你不输入它,你肯定会替换所有的系统环境变量。

选择二

更安全的选择是直接进入系统属性 > 高级 > 环境变量 > 选择 PATH,单击 剪辑 > 然后用 ;c:\users\YOURUSERNAME\appdata\local\yarn\bin附加 而不是取代

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

  1. 尝试安装纱线(我使用的卷曲命令) ,如果你已经有它。如果它已经安装了,这将会弹出,并且会给你它存在的地方的工作目录。

像这样:

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检查它是否工作。如果是,您应该在终端中看到显示的版本号。

就是这样,对我有用的东西。

AndrewD 给出了一个很好的答案,但是对于 Windows 系统的用户来说有点不同,尤其是第3步。

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

我只需要做系统属性 > 高级 > 环境变量 > 编辑路径 > 新建 > c: 用户 YOURUSERNAME appdata 本地纱线箱

确保你没有删除之前的变量。

对于 macOS,只需要一个步骤,

export PATH=~/.yarn/bin:$PATH

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

在我的示例中,Yarn 包的默认安装目录是 C: 用户用户名 AppData 本地纱线

因此,请确保将此目录添加到 path。

把这个答案,以便希望它可以在谷歌和帮助其他人。

使用后找不到 expo 命令 纱线全球添加 expo-cli 不工作在 ubuntu 20.04

export PATH="$PATH:$(yarn global bin)"