如何将Ubuntu SDK预览版从Qt 5 Beta PPA更新到Qt 5 Release PPA


9

Ubuntu的SDK预览已于1月2日宣布,它是基于Qt 5 Beta版本(如Qt的5尚未发布和打包的Ubuntu)。有时,Qt 5版本打包在单独的PPA上,并且Ubuntu SDK迁移到基于该PPA的内容。

Ubuntu SDK安装说明中所述,新安装可以正常工作,但我想知道在第二天发布之日安装它的我们这些人如何可以迁移到SDK的最新版本,因为PPA的更改要求手动升级。

这似乎与"error importing Ubuntu.Components"升级SDK时收到消息的人的报告有关。

Answers:


12

从Qt 5 Beta迁移到Qt 5版本期间,包装发生了很大变化。这意味着升级SDK并非易事,例如sudo apt-get upgrade,并且需要一些手动步骤。

迁移:从Qt 5 Beta 1到Qt 5.0

  1. 开启~/.bashrc档案

    $ gedit ~/.bashrc

  2. 'export PATH=/opt/qt5/bin:$PATH'~/.bashrc文件中删除行

  3. 暂时卸载Qt Creator

    $ sudo apt-get remove qtcreator qt4-qmlviewer

  4. 清除Qt 5 Beta 1 PPA

    $ sudo apt-get install ppa-purge

    $ sudo ppa-purge ppa:canonical-qt5-edgers/qt5-beta1

  5. 安装Ubuntu SDK预览

    $ sudo add-apt-repository ppa:ubuntu-sdk-team/ppa && sudo add-apt-repository ppa:canonical-qt5-edgers/qt5-proper && sudo apt-get update && sudo apt-get install ubuntu-sdk notepad-qml

  6. 测试可以执行Component Showcase应用程序:

    $ qmlscene /usr/lib/qt-components-ubuntu/demos/ComponentShowcase.qml


我按照上述步骤操作,现在在执行ComponentShowcase演示时遇到以下错误:...未安装模块“ Ubuntu.Components” ...未安装模块“ QtQuick” ...
Phidelux

看来这是由PPA:canonical-qt5-edgers / qt5-proper PPA的最新更新修复的错误。
Phidelux

我遇到与Avedo相同的问题,但似乎无法通过更新解决。:(
sil

3

如果第4步未从qt5-beta1 PPA中删除所有软件包,则该行帮助我进行了清理:

$ grep ^Package: /var/lib/apt/lists/ppa.launchpad.net*sdk*Packages /var/lib/apt/lists/ppa.launchpad.net*qt5-beta1*Packages |awk '{print $2}'|xargs sudo apt-get -y remove

您可以执行相同的命令,并将“ apt-get -y remove”替换为“ sudo dpkg --purge”,以清除apt-get之后可能的剩余物。


2

@sil:sudo apt-get install qt-components-ubuntu将安装缺少的组件。

干杯,


0

如果您不幸(像我一样)在安装Ubuntu SDK后发现:

  • 它缺少SQLITE Qt插件(防止Notepad QML示例运行)
  • 它缺少LocalStorage QML插件(与上述效果相同)
  • 随SDK安装的Qt Creator缺少助手帮助
  • 您的默认(未安装在/opt或中~/)Qt4开发环境已损坏(但是,当您添加PPA时,它们会警告您)

您可以通过(安装Qt5.0.0(不是5.0.1)脱身。运行文件),然后复制的内容/usr/lib/i386-linux-gnu/qt5/qml//home/your-name-here/Qt5.0.0/5.0.0/gcc/qml

之后,您将能够通过与从运行文件安装的Qt捆绑在一起的Qt Creator中的Ubuntu项目(通过QML启动或通过C ++包装器)进行工作(Ubuntu QML项目没有内容帮助,虽然)。

我假设正确设置路径(LD_LIBRARY_PATH等)将允许从命令行运行已编译的应用程序,但还没有尝试过,因为随Ubuntu SDK一起安装的Qt5现在始终在我的路径上, Linux新手:)

如果您知道如何在/usr/lib/i386-linux-gnu/qt5/qml/不实际安装组件的情况下获取内容,请更新此答案。

希望这对某人有帮助。


1
SDK预览版一直在不断改进,因此,如果您发现任何问题,请在bugs.launchpad.net/ubuntu-ui-toolkit/+filebug中进行报告-您提到的特定问题是bug(bugs.launchpad .net / ubuntu-ui-toolkit / + bug / 1119730),只需手动手动安装缺少的软件包即可解决此问题(例如sudo apt-get install qtdeclarative5-localstorage-plugin
David Planella 2013年

通常,我总是建议安装软件的打包版本,这将使您不必处理诸如LD_LIBRARY_PATH(甚至必须知道它的意思)之类的事情。您会自动获得软件更新!:)
David Planella

@DavidPlanella好的,非常感谢您的提示。我还是希望手动安装框架来分隔目录(也许我的某个地方有一个Slackware的家伙,谁知道?:)
mlvljr

2
...并sudo apt-get install libqt5sql5-sqlite解决了第二个问题,它出现了。
mlvljr

0

我在LocalStorage上遇到问题,但随后按照David Planella的说明安装了qtdeclarative5-localstorage-plugin。之后,我收到错误消息,我没有在网上安装LocalStorage

import LocalStorage 2.0

然后我将其更改为

import QtQuick.LocalStorage 2.0

现在就可以了。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.