How do I execute a program which is NOT on the system PATH (and I don't want to put it there)? Eg. the simplest example:
String program = "/my/path/to/my/program";
new DefaultExecutor().execute(CommandLine.parse(program));
throws
java.io.IOException: Cannot run program "/my/path/to/my/program" (in directory ".")
(The same is true with programs on the PATH, eg. "/usr/bin/ls" fails with the same message.)
Note: I do not want to change the working directory.
The path to my program was wrong (and ls is not in /usr/bin), but the error message mislead me - it didn't look for the executable in the working directory at all.
Related
I can't find the file 'supervisor' in Hue folder. According to official documentation it should be in the folder $HUE_HOME/build/env/bin. I am doing my operation in Ubuntu server 22.04. My objective to send queries to Impala through Hue.
I run following command as it was written in http://cloudera.github.io/hue/latest/administrator/installation/starting/
build/env/bin/supervisor
then I got "No such file or directory" warning.
I also tried
build/env/bin/hue runserver
and I got the same "No such file or directory" warning because there are no such files there.
Those instructions are written relative to Hue's installation folder, or the parent folder of the build-process output. Your error is simply saying that the relative path you're trying to use doesn't exist... Without more context, the error isn't incorrect
For a more simpler installation, you can try running the HUE docker container.
I get the following error for all the below mentioned error: What could be problem. Is the problem with java path OR the Neo4j package itself, as some of the stack overflow answer suggest OR linux permission issue?
Starting Neo4j.
./neo4j: line 149: /usr/Neo/neo4j-enterprise-3.0.6/bin/run/neo4j.pid: No such file or directory
-bash-4.1$ ./neo4j: line 148: /usr/Neo/neo4j-enterprise-3.0.6/bin/logs/neo4j.log: No such file or directory
For all the below version:
neo4j-community-3.1.0-BETA1 or
neo4j-enterprise-3.0.6 or
neo4j-enterprise-3.1.0-BETA1
If you look closely at the paths, you'll see that it's trying to write files in sub-directories under bin, whereas they are actually next to bin:
/usr/Neo/neo4j-enterprise-3.0.6/bin/run/neo4j.pid
/usr/Neo/neo4j-enterprise-3.0.6/bin/logs/neo4j.log
Even though you should be able to start Neo4j from inside the bin directory, it seems on your machine it fails to determine the base Neo4j directory. Is bash installed? Or have you set NEO4J_HOME to /usr/Neo/neo4j-enterprise-3.0.6/bin in your shell?
Try starting Neo4j directly from its base directory instead:
cd /usr/Neo/neo4j-enterprise-3.0.6
bin/neo4j start
In Ansible, i need to take a parent directory or current path of file automatically, in some of chef framework we have chef::config,it ll take automatically file path.
e.g:
/tasks/main.yml:
name: execute cmd
command: python file.py
If I have my "file.py" in a tasks folder, I need to execute my playbook from that path only like: /home/playbook/roles/sample/tasks ,then only it taking a script file and running.Suppose when i run from root path i mean /home/playbook/ path,it shows "No such file or directory"
I have tried lookup(env,HOME), It just takes /home alone but not related to that file path.
So to take a current file path how to give in ansible???
Thanks
Answer from comments
script module will copy the file first and then run it. if you use roles, you should place scripts into roles/my_role/files folder.
Minutes ago, I downloaded the oscurrency code from github, and I'm installing oscurrency on heroku. Everything seemed to be going perfectly until this command:
rake heroku:install
on the command line, in the directory where I downloaded the source code. I get the error:
'rake' is not recognized as an internal or external command, operable program or batch file.
I'm following the installation instructions at heroku here:
https://github.com/oscurrency/oscurrency/wiki/Heroku-Deployment-Guide
The command "rake heroku:install" is in the third paragraph from the bottom.
The code I downloaded came in a top-level folder called oscurrency. I downloaded that onto my laptop in C:\me\oscurrency. I was issuing the command in that directory when I got the error. I tried issuing the command in the folder C:\me\oscurrency\oscurrency -- same error.
Maybe the command has changed for some reason. Anybody have an idea what's going wrong?
Your problem is most likely that the command prompt is looking for a file named rake.exe and not able to find it because your PATH environment variable is not set to include that directory. I suspect that the rails command won't work either. You should add the ruby install directory (probably C:\Program Files\Ruby on Rails\bin\ to your PATH environment variable.
To do this, open your Computer Properties by right-clicking My Computer and selecting Properties, then find the "Advanced System Settings" link. Click the "Environment Variables" button at the bottom, and paste the path to that directory into the PATH variable, separating it with a semicolon.
I am receiving the error No such file or directory in my command line and I think it's because I am not saving the ruby files somewhere specific. All I did was create a random folder where I would save my ruby files.
Do I need to save my scripts in the original ruby folder? Thanks!
** This is Windows 7.
More info -
All I did was make a simple file named "Matz.rb" because I'm currently reading the O'reilly Ruby book. In my code all I wrote was puts "Hello Matz". I saved this on my desktop. When I go to the command line it and I write ruby matz.rb it says "ruby: No such file or directory -- matz.rb " Please help :(
If this has something to do with PATH or shells, I honestly have no idea what those really are because I just started coding last night.
You are most likely not in the right folder. You somehow need to tell the ruby interpreter where it is looking for the file.
Either make sure you're in the right folder - the cd command allows you to change location:
cd C:\Users\Username\Desktop
ruby Matz.rb
or specify the path explicitly:
ruby C:\Users\Username\Desktop\Matz.rb
By default, the ruby interpreter will look in your current directory (the location shown in your prompt) for whatever filename you give it.
Edit: I'll attempt to explain what I mean step-by-step.
When you initially open the command prompt, it will indicate what folder you are in (your "current working directory") in the prompt:
C:\Users\YourUsername >
In the above example, you are working in the C:\Users\YourUsername folder.
You can move directories using the cd command. For example, typing cd Desktop moves you into the folder called Desktop, assuming such a folder exists in your current location
You can move to another folder outside your current folder by specifying explicitly where you want to be: cd C:\Another\Place
When you run a ruby command such as ruby Matz.rb, the system knows how to find the ruby program because the installer placed its location into the PATH environment variable. Don't worry about this too much, this just explains the "magic" by which it knows what ruby means, no matter where you are.
Ruby finds the file you specify (in the above example, Matz.rb) by looking in the current directory. To re-iterate, it is looking in whatever folder is written right there in your prompt.
You can tell ruby to look outside the current folder by specifying the full path (as shown in the answer above).
To go from a new command window that you've just opened, to typing ruby Matz.rb and having it work, you need to do the following:
Move to the correct directory
Run the command
If we assume your username is alex and you have a folder on your desktop called "rubycode", which contains Matz.rb, you could do this:
Open a command prompt, which will most likely start in C:\Users\Alex
Move to the rubycode folder on your desktop: cd Desktop\rubycode. All subsequent commands will be working from within this folder.
Run the ruby command, specifying the file: ruby Matz.rb
Continue to run ruby commands as you learn ruby.
I hope that makes sense.