I can see that nvm and npm is not installed after succesfull installation - npm

I am installing nvm and npm like this:
curl https://raw.githubusercontent.com/creationix/nvm/v0.11.1/install.sh | bash
echo "[[ -s $HOME/.nvm/nvm.sh ]] && . $HOME/.nvm/nvm.sh" >> /home/deployer/.profile
source /home/deployer/.profile
# source ~/.nvm/nvm.sh
nvm install v0.12.9
nvm use v0.12.9
nvm alias default v0.12.9
curl -L https://npmjs.org/install.sh | sh
with bash and clearly see a successfull installation ("It worked" prompt), but after it stops and I type nvm or npm in the console I get:
No command 'nvm' found, did you mean:
The program 'npm' is currently not installed.
If I write this in the console:
source /home/deployer/.profile
nvm starts working, but why I need to repeat this process, not sure.

This suggests that your shell is not sourcing .profile for you. Perhaps you're using a non-login shell; perhaps your OS sources a different file when logging in.
What happens if you add . $HOME/.profile to your .bashrc, for example?

Related

Attempting to use 'sanity start' CLI results in 'command not found'

npm install -g #sanity/cli
sanity init
$ sanity start
bash: sanity: command not found
How can i solve it?
If the installation was successful, it could be that the Sanity CLI wasn't added to your path. Which operating system are you on? If Mac or Linux, running which sanity in your terminal should show a path like /usr/local/bin/sanity. Running echo $PATH in your terminal, you would need to see /usr/local/bin somewhere in that path.

I installed yarn globally, but got error "zsh:command not found : yarn"

npm install -g yarn
> yarn#1.22.15 preinstall /Users/myname/.npm-global/lib/node_modules/yarn
> :; (node ./preinstall.js > /dev/null 2>&1 || true)
/Users/myname/.npm-global/bin/yarn -> /Users/myname/.npm-global/lib/node_modules/yarn/bin/yarn.js
/Users/myname/.npm-global/bin/yarnpkg -> /Users/myname/.npm-global/lib/node_modules/yarn/bin/yarn.js
+ yarn#1.22.15
As I use a mac, I opened the zshrc file.
and then write the code below
export PATH=$PATH:/Users/myname/.npm-global/lib/node_modules/yarn
However, when I entered the yarn --v command, I got the same error as the title.
Could you please tell me what the problem is? What should I do when I have installed a variable globally?
Add the global npm bin to PATH instead:
export PATH="$PATH:$(npm bin -g)"
In your case, this is the same as:
export PATH="$PATH:/Users/myname/.npm-global/bin"
Here is what worked for me on the Mac OS Monterey 12.3.1
npm install -g yarn
npm config get prefix
My command output was: /Users/my_username/.npm-packages
Append that in your /etc/paths using nano
Open up Terminal.
Run the following command:
sudo nano /etc/paths
Enter your password, when prompted.
Go to the bottom of the file, and enter the path you wish to add.
Hit control-x to quit.
Enter “Y” to save the modified buffer.
That’s it! To test it, in new terminal window, type:
echo $PATH
You will see /Users/my_username/.npm-packages/bin appended to your path
Yarn should now work
yarn --version
You will see 2.4.x

vue cmd not working in Git-Bash, but does in PowerShell

If I run vue --version in my Terminus bash, I get:
$ vue -v
/bin/sh: /Users/kirkb/AppData/Local/Yarn/bin/../Data/global/node_modules/.bin/vue: No such file or directory
If I do it in PowerShell I get:
PS C:\WINDOWS\system32> vue --version
#vue/cli 4.5.13
Any way to get it working in Git-Bash?
Check your $PATH first in your git bash session.
As seen here, there might be a step missing in your current shell.
The alternative is to install it through npm in a WSL2 full-fledge Linux machine in your Windows 10 session.

How to use the brew version of a command (aws-es-proxy) instead of node?

I used npm -i -g aws-es-proxy. But I actually wanted to do brew install aws-es-proxy because the commands are slightly different for these two packages depending on whether installed with npm or brew. So I did npm uninstall -g aws-es-proxy and after uninstalling and deleting the folder that was still left over
$ cd /Users/USER_NAME/.nvm/versions/node/v10.17.0/bin/
$ ls
aws-azure-login node npm npx
bin USER_NAME$ rm -r aws-azure-login
I still would get
$ aws-es-proxy -listen :9200 -ENDPOINT
-bash: /Users/USER_NAME/.nvm/versions/node/v10.17.0/bin/aws-es-proxy: No such file or directory
It seems like this terminal is using npm version instead of brew version. Can you let me know how I can force to use the brew installation for this command?
Actually, all I had to do was open a new terminal session and it recognized the command. Not sure what behind the scenes stuff was happening.

Expo-cli installed but when running any expo command I get "zsh: command not found: expo"

I have installed expo-cli globally but when I try to run any expo code like expo start from anywhere, I get:
zsh: command not found: expo
echo $PATH returns:
/Users/amitg/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/amitg/.npm-global/bin
I am using macOS, catalina.
The correct command to run expo in macOS these days is npx expo.
e.g.
npx expo init my_app
If expo-cli is not installed, it will provide you with instructions to install
The answer is pretty simple.
just add npm binaries to your path
echo $PATH
export PATH=$PATH:~/.npm-global/bin
source ~/.profile or source ~/.bash_profile
That's It, It will work now, Just go check it
expo init myproject
FOR MACOS
So I recommend your echo $PATH command should be /usr/local/bin. Probably you have install Node on the website via .pkg you have downloaded. I have tried to remove and reinstall multiple times but it wasn't work on MacOS Catalina. I highly recommend to install via NVM. Okay I got you at first it sounds like you don't want any third party dependency to install more than Official website of NodeJS, alright I understand your concern, but I have tried for 2 hours straight and it is not worked. NVM is not really that bad, it is helpful and handy and you don't have to reinvent the wheel. I will show you very simple way, no mess up.
So I recommend you to remove and uninstall it first:
brew uninstall node
which node //if this not found or return empty it means you have removed it
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/local/lib/node_modules/npm/
brew doctor
brew cleanup --prune-prefix
Then:
brew uninstall --ignore-dependencies node
brew uninstall --force node
MAKE SURE YOU ARE DEACTIVATE ANY VIRTUAL ENVIRONMENT ***:
brew update
brew install nvm
Then create folder for NVM (no need to care which directory you are in now)
mkdir ~/.nvm
Now add these lines to ~/.bash_profile ( or ~/.zshrc for macOS Catalina or later) by nano ~/.bash_profile: (Marks my word, ADD belows line to bash_profile or zsh, not running those two commands below, ADD THEM!!!)
export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh
Add the NVM Directory Paths to Your Shell Profile (When Needed)
nano .zshrc
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
Type CTRL + x in your Mac
Type Shift + y in your Mac
Hit Enter or Return key
Then you need to QUIT/CLOSE ALL TERMINAL entirely to make effect
To see what Node versions are available to install run:
nvm ls-remote
You will see list of Node version available. I recommend to install any node version with Latest LTS (green color text)
For me, I just needed the latest point release of Node version 12.8.4 LTS stable released during my answer for you so I ran
nvm install 12.18.4 or nvm install --lts
Otherwise a useful reference in 2022: https://heynode.com/tutorial/install-nodejs-locally-nvm/
Verify your node version:
node --version
THEN FINALLY INSTALL expo cli
npm install --global expo-cli
Check expo installation:
expo --version
I am a student I tried many ways and this work for me and I hope I would be part to help you. Comment if sth still go unplanned.
I am getting the same loop. This is how you fix your expo-cli.
npx uninstall -g expo-cli
npx update (in your project directory).
Works like a charm. No endless loop. No editing the bash or zsh files.
I had the same problem when switched from bash to zsh, I solved it by checking at my .bash_profile (wich is located at ~/.bash_profile) and I found this export:
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
given that in bash everything worked correctly I decided to copy the export and replace default export in .zshrc file (wich is located at ~./zshrc)
Your ~/.zshrc file should look something like this:
# If you come from bash you might have to change your $PATH.
#export PATH=/usr/local/bin/npm:$PATH
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"
Then restart your terminal by pressing cmd + Q and you're done, hope this helps.
If none of the above work for you try:
sudo npm install --unsafe-perm -g expo-cli
hopefully this helps.
use "sudo yarn global add expo-cli" instead of "yarn global add expo-cli"
When i got a new macbook i faced the same challange.
Here's how i fixed the issue:
alias expo="npm config get prefix/bin/expo"
Now try expo start again, it should work.