8

我正在使用生成器角全栈。在我的本地机器上它工作正常,我运行

 grunt serve

它启动服务器,但在 VPS 中它失败了

Warning: Command failed: xdg-open: no method available for opening 'http://localhost:9000'

我已经安装了 xdg-utils

 $ sudo apt-get install xdg-utils
 Reading package lists... Done
 Building dependency tree       
 Reading state information... Done
 xdg-utils is already the newest version.

谁能解释我做错了什么?

4

3 回答 3

8

您是否尝试过配置xdg-open处理程序?

另外,你确定你的服务器上安装了浏览器吗?安装新的浏览器apt-get install <browser>应该会自动xdg-open意识到这一点。但是,根据您的浏览器/xdg-utils 的安装顺序,您的设置可能没有这样做。

让事情再次变得理智需要运行xdg-settings

要将http://处理程序设置为您的首选浏览器(在无头服务器上可能是w3mlynxelinks,请执行以下操作:

xdg-settings set default-web-browser w3m.desktop

为了验证,你可以运行xdg-open https://stackoverflow.com/questions/24683221,你应该在 w3m 中看到你的答案。

如果您没有w3m可用,请安装它sudo apt-get install w3m

您可能希望通过运行来查看其他可用的处理程序xdg-settings --list,它在我的系统上输出以下内容:

Known properties:
  default-url-scheme-handler    Default handler for URL scheme
  default-web-browser           Default web browser

编辑: 事实证明,一些旧系统(ubuntu 10.04)没有xdg-settings,并且该update-alternatives命令应该自动配置xdg-open。像这样:

    sudo update-alternatives --config www-browser
于 2014-07-24T19:58:15.983 回答
4

我不是专家,xdg-open但我会尝试一下。您的包裹数据库似乎有问题。此外,显示 gruntfile 会使事情变得更容易。

以下是要遵循的步骤:

  1. 识别所有xdg-open的。

    $ type -a xdg-open

    xdg-open is /usr/bin/xdg-open

  2. 找出它们属于哪些软件包。

    $ dpkg -S /usr/bin/xdg-open

    xdg-utils: /usr/bin/xdg-open

  3. 您需要对dpkg -S ..返回的每个匹配项重复上述操作,type -a 或者改用此dpkg -S ..搜索。我会做每一个,一次一个。

    $ dpkg -S xdg-open

    xdg-utils: /usr/bin/xdg-open

    xdg-utils: /usr/share/man/man1/xdg-open.1.gz

  4. 重新安装 xdg-utils。如果您想刷新此软件包的安装,请执行以下操作:

    $ sudo apt-get install --reinstall xdg-utils

我希望这有帮助!

于 2014-07-24T19:38:31.940 回答
1

你用的是图形环境吗?如果您使用“raspberry”并且您通过 ssh 连接并且没有配置“grunt”以使用 PhantomJS,则“Grunt”无法执行该任务。你必须强迫他继续“服务--force grunt”或设置“Gruntfile.js”

于 2016-05-28T14:33:11.047 回答