Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yarn global add not working properly on Ubuntu 18.04/zsh/bash #6532

Open
ChariseWalraven opened this issue Oct 11, 2018 · 8 comments
Open

Yarn global add not working properly on Ubuntu 18.04/zsh/bash #6532

ChariseWalraven opened this issue Oct 11, 2018 · 8 comments
Assignees
Labels

Comments

@ChariseWalraven
Copy link

ChariseWalraven commented Oct 11, 2018

**Do you want to request a feature or report a bug *

I would like to report a bug

What is the current behavior?

when using yarn global add, everything installs as needed, but my shell cannot find the command to use the tool.

E.g.
image

The command isn't found in bash either.

If the current behavior is a bug, please provide the steps to reproduce.

Content of my .zshrc:

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH

# Path to your oh-my-zsh installation.
  export ZSH="/home/charise/.oh-my-zsh"

# Set name of the theme to load. Optionally, if you set this to "random"
# it'll load a random theme each time that oh-my-zsh is loaded.
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"

# Set list of themes to load
# Setting this variable when ZSH_THEME=random
# cause zsh load theme from this variable instead of
# looking in ~/.oh-my-zsh/themes/
# An empty array have no effect
# ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

# Uncomment the following line to use case-sensitive completion.
# CASE_SENSITIVE="true"

# Uncomment the following line to use hyphen-insensitive completion. Case
# sensitive completion must be off. _ and - will be interchangeable.
# HYPHEN_INSENSITIVE="true"

# Uncomment the following line to disable bi-weekly auto-update checks.
# DISABLE_AUTO_UPDATE="true"

# Uncomment the following line to change how often to auto-update (in days).
# export UPDATE_ZSH_DAYS=13

# Uncomment the following line to disable colors in ls.
# DISABLE_LS_COLORS="true"

# Uncomment the following line to disable auto-setting terminal title.
# DISABLE_AUTO_TITLE="true"

# Uncomment the following line to enable command auto-correction.
# ENABLE_CORRECTION="true"

# Uncomment the following line to display red dots whilst waiting for completion.
# COMPLETION_WAITING_DOTS="true"

# Uncomment the following line if you want to disable marking untracked files
# under VCS as dirty. This makes repository status check for large repositories
# much, much faster.
# DISABLE_UNTRACKED_FILES_DIRTY="true"

# Uncomment the following line if you want to change the command execution time
# stamp shown in the history command output.
# You can set one of the optional three formats:
# "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"
# or set a custom format using the strftime function format specifications,
# see 'man strftime' for details.
# HIST_STAMPS="mm/dd/yyyy"

# Would you like to use another custom folder than $ZSH/custom?
# ZSH_CUSTOM=/path/to/new-custom-folder

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
# Example format: plugins=(rails git textmate ruby lighthouse)
# Add wisely, as too many plugins slow down shell startup.
plugins=(
  git
  node 
  npm
  nvm
  ruby
  yarn
  lol
  debian
  emoji-clock
  rand-quote
)

source $ZSH/oh-my-zsh.sh

# User configuration

# export MANPATH="/usr/local/man:$MANPATH"

# You may need to manually set your language environment
# export LANG=en_US.UTF-8

# Preferred editor for local and remote sessions
# if [[ -n $SSH_CONNECTION ]]; then
#   export EDITOR='vim'
# else
#   export EDITOR='mvim'
# fi

# Compilation flags
# export ARCHFLAGS="-arch x86_64"

# ssh
# export SSH_KEY_PATH="~/.ssh/rsa_id"

# Set personal aliases, overriding those provided by oh-my-zsh libs,
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
# For a full list of active aliases, run `alias`.
#
# Example aliases
# alias zshconfig="mate ~/.zshrc"
# alias ohmyzsh="mate ~/.oh-my-zsh"

# link to aliases file
source $HOME/.aliases

# NVM
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"


# if a git branch exists swap to it, else create a new one
branch()
{
# TODO: fix parse error >> parse error: condition expected: = when git branch --list comes up null
  if [ -z `git branch --list $1` ]; then
    git checkout -b $1
  else 
    git checkout $1    
  fi
}

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/home/charise/google-cloud-sdk/path.zsh.inc' ]; then source '/home/charise/google-cloud-sdk/path.zsh.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/home/charise/google-cloud-sdk/completion.zsh.inc' ]; then source '/home/charise/google-cloud-sdk/completion.zsh.inc'; fi

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

content of my .bashrc

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color|*-256color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
	# We have color support; assume it's compliant with Ecma-48
	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
	# a case would tend to support setf rather than setaf.)
	color_prompt=yes
    else
	color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

# Link to aliases file
if [ -f ~/.aliases ]; then
    . ~/.aliases
fi
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"  # This loads nvm bash_completion

# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

This works fine when using npm, just not when using yarn.

I am on an HP Laptop running Ubuntu 18.04, node version 10.9.0.

Any help is really appreciated. I've been fighting with this for months now!

@ghost ghost assigned arcanis Oct 11, 2018
@ghost ghost added the triaged label Oct 11, 2018
@xPaw
Copy link
Contributor

xPaw commented Oct 15, 2018

You need to add output of yarn global bin to your $PATH.

I wish Yarn did something to make this more clear though. Perhaps print a message when running yarn global commands?

@ChariseWalraven
Copy link
Author

@xPaw Thanks! And from a noob's perspective: Yes this should be better explained somewhere. 💯

@xPaw
Copy link
Contributor

xPaw commented Oct 15, 2018

Did you miss a slash after $HOME?

@ChariseWalraven
Copy link
Author

Ah lol! Yeah, I just spotted that myself 😄 I must've accidentally removed it when I replaced a part of the output with the $HOME variable 😝 :

@ChariseWalraven
Copy link
Author

Anyways, thanks! It worked perfectly when I added the slash 😁

@arcanis
Copy link
Member

arcanis commented Oct 15, 2018

I wish Yarn did something to make this more clear though. Perhaps print a message when running yarn global commands?

That sounds like a great idea :o Something like this:

Warning: The Yarn bin folder (~/.yarn/bin) isn't part of your PATH environment variable - this might cause you problems to access them later.

@jduhls
Copy link

jduhls commented Dec 1, 2018

Had same issue. The yarn global bin line does the trick in my .zshrc:

# If you come from bash you might have to change your $PATH.
export PATH=$HOME/bin:/usr/local/bin:$PATH
export PATH="$PATH:$(yarn global bin)"

@SSylvain1989
Copy link

SSylvain1989 commented Dec 22, 2020

Hello after some digging on internet all solutions doesn't work for me or i'm so dumb that i can't resolve it myself . Can someone help me please .

❯ yarn -v
/mnt/c/Users/sylva/AppData/Roaming/npm/yarn: 12: node: not found

same with npm

❯ npm -v
: not foundram Files/nodejs//npm: 3:
: not foundram Files/nodejs//npm: 5:
/mnt/c/Program Files/nodejs//npm: 6: Syntax error: word unexpected (expecting "in")

Thanks a lot for your help
this is my outpout of zshrc file , sorry I don't know how to quote the message normally without the font changing ( link of a txt file at the end of this post , sorry again :( )

vim ~/.zshrc

For brew, at least

export PATH="$PATH:/usr/local/share/npm/bin"

Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.

Initialization code that may require console input (password prompts, [y/n]

confirmations, etc.) must go above this block; everything else may go below.

if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

If you come from bash you might have to change your $PATH.

export PATH=$HOME/bin:/usr/local/bin:$PATH

Path to your oh-my-zsh installation.

export ZSH="/home/sylvain/.oh-my-zsh"

Set name of the theme to load --- if set to "random", it will

load a random theme each time oh-my-zsh is loaded, in which case,

to know which specific one was loaded, run: echo $RANDOM_THEME

See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes

ZSH_THEME="powerlevel10k/powerlevel10k"
POWERLEVEL9K_MODE="nerdfont-complete"

Set list of themes to pick from when loading at random

Setting this variable when ZSH_THEME=random will cause zsh to load

a theme from this variable instead of looking in $ZSH/themes/

                                                                                                  1,1           Top # Setting this variable when ZSH_THEME=random will cause zsh to load

a theme from this variable instead of looking in $ZSH/themes/

If set to an empty array, this variable will have no effect.

ZSH_THEME_RANDOM_CANDIDATES=( "robbyrussell" "agnoster" )

Uncomment the following line to use case-sensitive completion.

CASE_SENSITIVE="true"

Uncomment the following line to use hyphen-insensitive completion.

Case-sensitive completion must be off. _ and - will be interchangeable.

HYPHEN_INSENSITIVE="true"

Uncomment the following line to disable bi-weekly auto-update checks.

DISABLE_AUTO_UPDATE="true"

Uncomment the following line to automatically update without prompting.

DISABLE_UPDATE_PROMPT="true"

Uncomment the following line to change how often to auto-update (in days).

export UPDATE_ZSH_DAYS=13

Uncomment the following line if pasting URLs and other text is messed up.

DISABLE_MAGIC_FUNCTIONS="true"

Uncomment the following line to disable colors in ls.

DISABLE_LS_COLORS="true"

Uncomment the following line to disable auto-setting terminal title.

DISABLE_AUTO_TITLE="true"

                                                                                                  33,1          29% # Uncomment the following line to disable auto-setting terminal title.

DISABLE_AUTO_TITLE="true"

Uncomment the following line to enable command auto-correction.

ENABLE_CORRECTION="true"

Uncomment the following line to display red dots whilst waiting for completion.

COMPLETION_WAITING_DOTS="true"

Uncomment the following line if you want to disable marking untracked files

under VCS as dirty. This makes repository status check for large repositories

much, much faster.

DISABLE_UNTRACKED_FILES_DIRTY="true"

Uncomment the following line if you want to change the command execution time

stamp shown in the history command output.

You can set one of the optional three formats:

"mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd"

or set a custom format using the strftime function format specifications,

see 'man strftime' for details.

HIST_STAMPS="mm/dd/yyyy"

Would you like to use another custom folder than $ZSH/custom?

ZSH_CUSTOM=/path/to/new-custom-folder

Which plugins would you like to load?

Standard plugins can be found in $ZSH/plugins/

Custom plugins may be added to $ZSH_CUSTOM/plugins/

Example format: plugins=(rails git textmate ruby lighthouse)

                                                                                                  60,0-1        58% # Custom plugins may be added to $ZSH_CUSTOM/plugins/

Example format: plugins=(rails git textmate ruby lighthouse)

Add wisely, as too many plugins slow down shell startup.

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

source $ZSH/oh-my-zsh.sh

User configuration

For brew, at least

export PATH=/usr/local/bin:$PATH

# NVM Stuff

export NVM_DIR="$HOME/.nvm"

. "$(brew --prefix nvm)/nvm.sh"

export MANPATH="/usr/local/man:$MANPATH"

You may need to manually set your language environment

export LANG=en_US.UTF-8

Preferred editor for local and remote sessions

if [[ -n $SSH_CONNECTION ]]; then

export EDITOR='vim'

else

export EDITOR='mvim'

fi

Compilation flags

export ARCHFLAGS="-arch x86_64"

                                                                                                  87,1          88% #   export EDITOR='mvim'

fi

Compilation flags

export ARCHFLAGS="-arch x86_64"

Set personal aliases, overriding those provided by oh-my-zsh libs,

plugins, and themes. Aliases can be placed here, though oh-my-zsh

users are encouraged to define aliases within the ZSH_CUSTOM folder.

For a full list of active aliases, run alias.

Example aliases

alias zshconfig="mate ~/.zshrc"

alias ohmyzsh="mate ~/.oh-my-zsh"

To customize prompt, run p10k configure or edit ~/.p10k.zsh.

[[ ! -f ~/.p10k.zsh ]] || source ~/.p10k.zsh`

zsh.txt

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants