Why PhpStorm doesn't see files in /usr/bin? - mercurial

I'm trying to configure PhpStorm 2019.3, my system is Linux Mint.
When I trying to set paths for utilities Mess Detector (phpmd), Code Sniffer (phpcs) and Mercurial (hg), PhpStorm is saying:
error=2, no such file or directory.
Problem is that PhpStorm doesn't see these files, but see system files.
Utils are installed and placed in /usr/bin
~$ which phpmd
/usr/bin/phpmd
~$ which phpcs
/usr/bin/phpcs
~$ which hg
/usr/bin/hg
Why can that be?

Problem solved by removing phpstorm installed from Program manager and installing directly from official site.

Related

How can I get the keyring extension working for mercurial in Ubuntu 18.04?

I've tried dozens of guides on installing mercurial and keyring extensions on Ubuntu and have never been able to get the keyring extension to work. It was a snap under Windows.
I've installed mercurial many different ways. I'm not sure if the install method has anything to do with the keyring, but here are a few of the things I've tried:
sudo apt-get install mercurial
sudo apt install mercurial
pip install mercurial
... and so on.
I even used this method where it compiles mercurial.
All of these methods work for mercurial. It runs. I can do commits, etc. It's keyring and mercurial_keyring installations that are giving me trouble. I installed both of those using pip install. When I do a command like:
hg out http://somerepo
At the moment, I'm getting the following message:
No handlers could be found for logger "keyring.backend"
I feel like there is a concise set of steps to get keyring working, but it's just eluding me. I've made half a dozen attempts on fresh virtual machines and can never get this to work. :(
pip uninstall keyring
The reason is that python has already the library python-keyring installed which conflicts with the one installed with pip. Credits to Python library woes on Ubuntu 18.04 by Kai Koenig
Edit: the story actually did not end there because what it did was to get rid of that error but was not the actual solution. I had to continue with these commands
pip install keyrings.alt
pip install keyring
(yes, I installed it back)
python -c "import keyring.util.platform_; print(keyring.util.platform_.config_root())"
That was taken from keyring docummentation. It turned out that my config folder shown by this command was not created so I did:
mkdir ~/.local/share/python_keyring
vi ~/.local/share/python_keyring/keyringrc.cfg
I had to create the .cfg file as well and put this inside (on my MacOS Mojave!):
[backend]
default-keyring=keyring.backends.OS_X.Keyring
Now everything works fine, no password asked anymore

hg-git Installation: Missing dulwich.errors

I'm having trouble with hg-git.
In my hgrc I have:
[extensions]
hgext.bookmarks=
hggit=~/anaconda/lib/python3.5/site-packages/hg_gt-0.8.2-py3.5.egg/hggit
When I try to hgclone I get:
*** failed to import extension hggit from ~/anaconda/lib/python3.5/site-packages/hg_git-0.8.2-py3.5.egg/hggit: No module named dulwich.errors.
I've already installed dulwich.errors by running easy_install 'dulwich>=0.8.0'.
Can't figure out what's going on.
Thanks so much!
You have to be sure that hg, hg-git and dulwich are installed and running in the same python environment. What is saying which hgand which dulwich?
On a Mac and no doubt in similar environments, the PYTHONPATH environment variable must also be set properly, e.g. if dulwich is in /Library/Python/2.7/site-packages/ then PYTHONPATH must include that directory.

htmltidy linter does not have a file in directory usr/local/bin

So I recently installed a few linters for sublimelinter and so far all work except htmltidy. I installed as directed using terminal (I'm running OSX) in the following way:
sudo npm install -g htmltidy
This worked for CSSLint, JSHint etc. but not htmltidy. i checked usr/local/bin and it turns out that there is no .js file for htmltidy. How could I fix this?
Run whereis htmltidy. If that does not return anything close out of terminal and open it back up. The installer might of added something to your path but didn't resource it.
If that doesn't work run sudo find -name htmltidy /

Tortoise-Hg (mercurial) does not find hg-git

I have Tortoise Hg installed on my Windows box, and have been using mercurial via the Tortoise GUI and also from the windows commandline. I installed hg-git as recommended on http://hg-git.github.com/ : Using easy_install hg-git, which built the package with Microsoft Visual C++ 2008. There were no error messages and the build reported success.
I then added the extension to the configuration file. But TortoiseHg still doesn't accept git urls, and when I run hg from the commandline, I get:
*** failed to import extension hggit: No module named hggit
Now, python does know about hggit and will find it if I type import hggit at the interpreter (it fails when hggit tries to import mercurial). I understand that TortoiseHg provides it own python environment, so my question is: How do I install hggit so that it is visible to the tortoise-distributed mercurial? Or am I misdiagnosing the problem?
How did you reference the extension in the .hgrc file ?
If you just did
[extensions]
hggit=
Try adding the complete path to the extension :
[extensions]
hggit = [path-to]/hg-git/hggit
This should tell TortoiseHg exactly where to look and bypass any difference of configuration between the command line and the gui.

Equivalent to libmysqldev FreeBSD

I have compiled a program in fedora using the mysql dev library (include mysql.h in header file). I need to compile in on FreeBSD. I do not want to download from source and compile but rather would like to download from ports or something equivalent to facilitate removing it if need be.
Does anyone know the equivalent of the libmysql-dev in FreeBSD. I have not found it in ports?
You do not need a special package for this. The standard mysql client package/port already includes the libraries and the header files you will need. The header files will end up, by
default, in /usr/local/include/mysql/ directory, while
the libraries will go to /usr/local/lib/mysql/.
So - just install a client from ports or packages, and you are set.
mysql.h is included in the mysql-client-xx port.
assuming you have a configure script or makefile you should set the LDFLAGS and CPPFLAGS environment variables to:
export LDFLAGS='-l /usr/local/lib'
export CPPFLAGS='-I /usr/local/include'
(or setenv, if using csh)
then ./configure and make as normal.
if you are compiling from the command line "gcc -o myprog mysource.c" just add the -I and -l options to your command and it should compile fine.
try: find /usr/local -iname 'mysql' to see files (headers, shared objects and binaries) you in fact have installed on your system.