Command Line Application 'mine' not found - V3.1

The release notes for RubyMine 3.1 states there is a command line application 'mine' but in my shell on mac I can't find 'mine'.  Does something need to be installed or added to my path for it show up?

Thanks,
Jay

0
4 comments

Hello Jason,

RubyMine prompts you to create the command-line launcher in its initial configuration
dialog. If you've bypassed it, you can create the script manually using a
command in the File menu.

The release notes for RubyMine 3.1 states there is a command line
application 'mine' but in my shell on mac I can't find 'mine'.  Does
something need to be installed or added to my path for it show up?


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0
Avatar
Permanently deleted user

I had the same issue. It works now after creating the script via the menu entry, but I'm very sure, that I was not asked to create it during setup. But I have two additional issues:

  • If I start RubyMine via 'mine' on OS X, it's running in 64bit mode. I changed the settings so that it's running in 32bit mode when started "normally". But that seems not to affect the mine script.
  • If mine is called in a folder without a project, RubyMine starts without opening a project. Would be nice if it would do a "open folder" for the current folder. At least if that folder obviously contains a Rails project. ;-)


cheers,
Achim

0
Avatar
Permanently deleted user

Same here, I don't remember being prompted to install the command line launcher.  I was upgrading so maybe if you do a fresh install and don't import settings you get prompted.

Either way for folks that have the same issue you can find the option at File -> Create Command Line Launcher.

0

If I start RubyMine via 'mine' on OS X, it's running in 64bit mode. I changed the settings so that it's running in 32bit mode when started "normally". But that seems not to affect the mine script.

Known problem, already fixed in 3.1.1 but you will need re-create "mine" script or fix it manually to use "open -a" command instead of ....RubyMine.app/Contents/MacOS/rubymine

Correct mine script looks like:

#!/usr/bin/python import socket import struct import sys import os import os.path import time # see com.intelij.idea.SocketLock for the server side of this interface RUN_PATH = '/Applications/RubyMine 3.1.app' CONFIG_PATH = '/Users/username/Library/Preferences/RubyMine31' args = [] skip_next = False for arg in sys.argv[1:]:     if arg == '-l' or arg == '--line':         args.append(arg)         skip_next = True     elif skip_next:         args.append(arg)         skip_next = False     else:         args.append(os.path.abspath(arg)) def launch_with_port(port):     found = False     s = socket.socket()     s.settimeout(0.3)     try:         s.connect(('127.0.0.1', port))     except:         return False         while True:         try:             path_len = struct.unpack(">h", s.recv(2))[0]             path = s.recv(path_len)             path = os.path.abspath(path)             if os.path.abspath(path) == os.path.abspath(CONFIG_PATH):                 found = True                 break         except:             break          if found:         if args:             cmd = "activate " + "\0".join(args)             encoded = struct.pack(">h", len(cmd)) + cmd             s.send(encoded)             time.sleep(0.5)   # don't close socket immediately         return True     return False port = -1 try:     f = open(os.path.join(CONFIG_PATH, 'port'))     port = int(f.read()) except Exception, e:     print e     port = -1 if port == -1:     # SocketLock actually allows up to 50 ports, but the checking takes too long     for port in range(6942, 6942+10):         if launch_with_port(port): exit() else:     if launch_with_port(port): exit() if sys.platform == "darwin":     # Mac OS: RUN_PATH is *.app path     if len(args):         args.insert(0, "--args")     os.execvp("open", ["-a", RUN_PATH] + args) else:     # unix common     bin_dir, bin_file = os.path.split(RUN_PATH)     os.chdir(bin_dir)     os.execv(bin_file, [bin_file] + args)


Don't forget to correct "RUN_PATH" and "CONFIG_PATH" according your paths.
0

Please sign in to leave a comment.