0

在运行时,我遇到了与之前提出的类似问题()SublimeREPL: SBT for opened folder中完全相同的问题。OSError(2, 'No such file or directory')

不幸的是,那里提供的解决方案并没有太大帮助。

有人愿意提供一些线索,说明这里可能还有什么问题吗?

我目前正在运行 Ubuntu 12.04。

我的Main.sublime-menu配置如下:

[
 {
    "id": "tools",
    "children":
    [{
        "caption": "SublimeREPL",
        "mnemonic": "r",
        "id": "SublimeREPL",
        "children":
        [
            {"caption": "Scala",
            "id": "Scala",

             "children":[
                {"command": "repl_open",
                 "caption": "scala REPL",
                 "id": "repl_scala",
                 "mnemonic": "s",
                 "args": {
                    "type": "subprocess",
                    "encoding": "utf8",
                    "external_id": "scala",
                    "cmd": {"linux": ["scala"],
                            "osx": ["scala"],
                            "windows": ["scala.bat", "-i"]},
                    "soft_quit": "\nexit\n",
                    "cwd": "$file_path",
                    "cmd_postfix": "\n", 
                    "extend_env": {"osx": {"EMACS": "1", "PATH": "{PATH}:/home/helluin/apps/sbt/bin"},
                                   "linux": {"EMACS": "1", "PATH": "{PATH}:/home/helluin/apps/sbt/bin/"},
                                   "windows": {"EMACS": "1"}},
                    "suppress_echo": false, 
                    "syntax": "Packages/Scala/Scala.tmLanguage"
                    }
                },
                {"command": "repl_open",
                 "caption": "SBT for opened folder",
                 "id": "repl_sbt",
                 "mnemonic": "b",
                 "args": {
                    "type": "subprocess",
                    "encoding": "utf8",
                    "external_id": "scala",
                    "cmd": {"linux": ["sbt"],
                            "osx": ["sbt"],
                            "windows": ["sbt"]},
                    "soft_quit": "\nexit\n",
                    "cwd": "$folder",
                    "cmd_postfix": "\n", 
                    "extend_env": {"osx": {"EMACS": "1", "PATH": "{PATH}:/usr/bin"},
                                   "linux": {"EMACS": "1", "PATH": "{PATH}:/usr/bin"},
                                   "windows": {"EMACS": "1"}},
                    "suppress_echo": false, 
                    "syntax": "Packages/Scala/Scala.tmLanguage"
                    }
                } 
            ]}
        ]
    }]
  }
]

此外,scalasbt系统路径是这样定义的

λ →  which scala
/usr/bin/scala
λ →  which sbt
/home/helluin/apps/sbt/bin/sbt
4

1 回答 1

0

你把你的路径搞混了。"caption": "scala REPL"菜单项有作为它的scala命令,但扩展PATH的是/home/helluin/apps/sbt/bin. 该"caption": "SBT for opened folder"项目有sbt作为它的命令,但扩展PATH/usr/bin. 你应该切换它们。

或者,对于 Scala REPL,创建命令的第一行:

"cmd": {"linux": ["/usr/bin/scala"],

(虽然/usr/bin应该已经在系统中PATH)。对于sbtREPL,使命令的第一行:

"cmd": {"linux": ["/home/helluin/apps/sbt/bin/sbt"],

然后您无需担心扩展该特定环境变量。

于 2013-10-15T20:08:53.060 回答