我正在使用generator-angular-fullstack。 在我的本地机器上工作正常,我运行
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.
任何人都能解释我的错误吗?
答案 0 :(得分:5)
您是否尝试过配置xdg-open
处理程序?
另外,您确定在服务器上安装了浏览器吗?使用apt-get install <browser>
安装新浏览器会自动让xdg-open
知道它。但是,您的设置可能没有这样做,具体取决于您的browser / xdg-utils的安装顺序。
为了让事情再次健全,需要运行xdg-settings
。
要将http://
处理程序设置为首选浏览器(在无头服务器上可能是w3m
,lynx
或elinks
),请执行以下操作: / p>
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
在我的系统上输出以下内容:
xdg-settings
修改强>
事实证明,一些旧系统(ubuntu 10.04)没有update-alternatives
,xdg-open
命令应该自动配置 sudo update-alternatives --config www-browser
。像这样:
{{1}}
答案 1 :(得分:3)
我不是xdg-open
的专家,但我会尝试一下。看起来您的包数据库存在问题。此外,显示gruntfile会使事情变得更容易。
以下是要遵循的步骤:
识别所有xdg-open
$ type -a xdg-open
xdg-open is /usr/bin/xdg-open
找出他们所属的软件包。
$ dpkg -S /usr/bin/xdg-open
xdg-utils: /usr/bin/xdg-open
您希望为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
重新安装xdg-utils。如果您想刷新此软件包的安装,请执行以下操作:
$ sudo apt-get install --reinstall xdg-utils
我希望这有帮助!
答案 2 :(得分:1)
您使用的是图形环境吗?如果你正在使用&#34; raspberry&#34;而你是通过ssh连接的,你没有&#34; grunt&#34;配置为使用PhantomJS,&#34; Grunt&#34;无法执行任务。你必须强迫他继续服务 - 强制咕噜咕噜&#34;或者设置&#34; Gruntfile.js&#34;