Permission Denied while installing Node on WSL using NVM - windows-subsystem-for-linux

I tried to install Node LTS on WSL using NVM.
While I successfully installed nvm, Node installation using nvm install --lts made some errors:
mv: cannot move '/home/anesin1109/.nvm/.cache/bin/node-v10.15.3-linux-x64/files/bin' to '/home/anesin1109/.nvm/versions/node/v10.15.3/bin': Permission denied
mv: cannot move '/home/anesin1109/.nvm/.cache/bin/node-v10.15.3-linux-x64/files/include' to '/home/anesin1109/.nvm/versions/node/v10.15.3/include': Permission denied
mv: cannot move '/home/anesin1109/.nvm/.cache/bin/node-v10.15.3-linux-x64/files/lib' to '/home/anesin1109/.nvm/versions/node/v10.15.3/lib': Permission denied
mv: cannot move '/home/anesin1109/.nvm/.cache/bin/node-v10.15.3-linux-x64/files/share' to '/home/anesin1109/.nvm/versions/node/v10.15.3/share': Permission denied
I tried to move these files manually, but it also ended with those errors.

Try making sure nothing is accessing the directory. I had this exact issue. I figured out that my VisualStudio Code had the directory open in the WSL which prevented NVM from doing its thing. After closing VS Code nvm install 12 worked fine. Hope that helps.

Please check if your user owns all files in .nvm. You can take ownership recursively with chown -R <user> .nvm. Delete all node versions recursively with rm -rf .nvm/versions/node. Then try again; this process worked for me at least.

problem solved with me when i upgrade the WSL distribution from WSL1 to wsl 2
wsl --set-version Ubuntu 2

Related

Unable to run couchbase on ubuntu 16.04

I tried to install all the couchbase using all the methods provided in the couchbase website documentation but still facing errors.
The Debian file is loading continuously and if I'm trying to install it using terminal, I'm getting the following error.
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
First check if there is a dpkg process running, ps afx|grep dpkg
If thats the case, kill it with sudo killall dpkg
Remove the lock file with sudo rm /var/lib/dpkg/lock
That should do the trick

How to download it without pip2

I tried to download the cuckoo on windows, While I got the error 'pip2 install -U cuckoo'.
The default version of pip on my windows system is for python3.
I tried to download python27, and went to the folder, try to pip install. I still failed
It is a little trick.
First, you do need to download the python27 and go to the python27 directory.
Then, you need to download pip2 (https://bootstrap.pypa.io/2.6/get-pip.py), use this command: curl https://bootstrap.pypa.io/2.6/get-pip.py -o get-pip.py
Then python.exe get-pip.py
Now, it still does not work if you just type pip2 install ..
You should use python.exe -m pip install -U cuckoo. (download package under the version of this directory).
After you download the WSL for ubuntu 16.04. You will meet an error the next time you reboot your PC. It is like registerDistribution error. You just need to uninstall all anti-virus software. For me, it is the McAfee. After you uninstall it, reboot your pc. You will find it works normally.
The reference is https://www.youtube.com/watch?v=nLGJHgv6uWA.

Unable to run npm commands with sudo

I've recently installed the balena-cli package via npm (which itself has been installed using nvm) which works fine when accessed from my default user.
However whenever I try to access npm, nvm or balena-cli using sudo they all print the following error
$ sudo npm
sudo: npm: command not found
$ sudo nvm
sudo: nvm: command not found
$ sudo balena
sudo: balena: command not found
I tried using sudo chown on all 3 but to now avail.
Basically, none of the Node related functions can be accessed using root.
Any suggestions on how to resolve this, perhaps by the use of environment variables?
As a stop gap, I found out that running the same command after switching to root works fine with the following command;
$ sudo -s
However, since it's a stop gap, it would be great to find a way to run the same commands without switching back and forth between root.
Basically once do check that have you flashed Balena image correctly and then check the network permissions and login to Balena with root and run commands with su instead of sudo then your issue might clear.

mix local.hex fails from SSL after updating Erlang

I was prompted to update Erlang on my machine and I did. Then when I restarted my server I was prompted to update using mix local.hex.
When i did this it gave me the following error.
mix local.hex --force didn't work either.
I eventually found out that I installed erlang originally without brew originally which is where the prompt came from. After I updated it, it caused an issue with mix local.hex.
I manually removed the folder /usr/local/lib/erlang and all erlang on my machine. I installed erlang using 'brew install erlang' and then ran 'brew link erlang'
This originally didn't work because I didn't have permission but then I ran the following to get permission.
sudo chown -R $(whoami) /usr/local/lib
After that 'brew link erlang' worked and I was able to run 'mix local.hex' like normal.

Laravel valet linked php error

I got an error.
$ valet install
[DomainException]
Unable to determine linked PHP.
install
'which' command returns:
$ which php
/usr/local/Cellar/php70/7.0.6/bin/php
I used Homebrew to instal php7.1 , So I ran this command in terminal
ln -s /usr/local/opt/php71/bin/php /usr/local/bin/php
and everything is done.
if your PHP version 7.x and valet > 2.0.8 update valet
valet stop
valet uninstall
brew install php
composer global require laravel/valet
then valet install
Homebrew creates (or attempts to create) symlinks in /usr/local/bin.
Start by running the following to attempt to create a link.
brew link php70
It'll give you information as to whether or not it was successful. Occasionally permissions are problematic and you can resolve this with
sudo chown -R `whoami`:admin /usr/local/bin
Then try running the brew link command again.
Alternately brew link may give you instructions, or you can use brew doctor to get a report on any problems which exist with your Homebrew installation.
When it's set up properly after running ls -la /usr/local/bin | grep bin/php$ you should see something similar to
lrwxr-xr-x 1 YOURUSER admin 29 10 May 21:40 php -> /usr/local/Cellar/php70/7.0.6/bin/php
I was going to update Laravel Valet from version 1.* to 2 and ran same error like this
Unable to determine linked PHP
The solution was to run
composer global update
before I ran
valet install
This happens when your brew php gets Updated.
If you do brew install php this will work but will install php 7.2 by default.
If you want php#7.1 you have to do brew install php#7.1 this will install php7.1 and now when you restart valet valet restart you might get an error. Unable to determine linked PHP.
To make this work with php7.1 you have make brew link
brew link php71
you may have this error
Warning: php#7.1 is keg-only and must be linked with
to fix this
brew link --force php71
now valet should work on php7.1
I tried all of the suggestions here—and several from elsewhere—before I hit on the solution. This applies to PHP 7.2 (no guarantee for other versions). If you are using the original Larvel Valet, open the file:
~/.composer/vendor/laravel/valet/cli/Valet/Brew.php
...or, if you're using Valet+
~/.composer/vendor/weprovide/valet-plus/cli/Valet/Brew.php
Locate the supportedPhpVersions method. In some versions, it will return an array right in the method:
return ['php72', 'php71', 'php70', 'php56'];
Change this to:
return ['7.2', 'php72', 'php71', 'php70', 'php56'];
In other cases, it'll reference const SUPPORTED_PHP_VERSIONS, and the change will be similar.
Save the file, restart valet, and Bob's your uncle!