ฉันจะอัปเดตหน้าตัวอย่าง Ubuntu SDK จาก Qt 5 Beta PPA เป็น Qt 5 Release PPA ได้อย่างไร


9

เมื่อมีการประกาศตัวอย่างของUbuntu SDKในวันที่ 2 มกราคมมันเป็นไปตามรุ่น Qt 5 Beta (เนื่องจาก Qt 5 ยังไม่ได้วางจำหน่ายและจัดทำสำหรับ Ubuntu) ในบางจุดการปล่อย Qt 5 ได้รับการบรรจุบน PPA ที่แยกต่างหากและ Ubuntu SDK ที่โยกย้ายเพื่อให้เป็นไปตามเนื้อหาของ PPA นั้น

การติดตั้งใหม่นั้นทำงานได้ดีตามที่อธิบายไว้ในคำแนะนำในการติดตั้ง Ubuntu SDKแต่ฉันต้องการทราบว่าพวกเราที่ติดตั้งในวันวางจำหน่ายในวันที่ 2 สามารถโยกย้ายไปเป็น SDK เวอร์ชันล่าสุดได้อย่างไร อัพเกรดด้วยตนเอง

ดูเหมือนว่าจะเกี่ยวข้องกับรายงานของผู้ที่ได้รับ"error importing Ubuntu.Components"ข้อความเมื่ออัปเกรด SDK

คำตอบ:


12

ในระหว่างการโยกย้ายจาก Qt 5 Beta ไปยัง Qt 5 Release บรรจุภัณฑ์มีการเปลี่ยนแปลงอย่างมีนัยสำคัญ ซึ่งหมายความว่าการอัปเกรด 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-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



0

ในกรณีที่คุณโชคไม่ดี (อย่างฉัน) เพื่อค้นหาหลังจากติดตั้ง Ubuntu SDK ที่:

  • มันขาดปลั๊กอิน SQLITE Qt (ป้องกันไม่ให้ตัวอย่าง Notepad QML ทำงาน)
  • มันไม่มีปลั๊กอิน LocalStorage QML (ผลเช่นเดียวกับด้านบน)
  • ผู้สร้าง Qt ที่ติดตั้งด้วย SDK ขาดความช่วยเหลือผู้ช่วย
  • ค่าเริ่มต้นของคุณ (ไม่ได้ติดตั้งใน/optหรือ~/) สภาพแวดล้อม dev Qt4 ถูกทำลาย (พวกเขาเตือนคุณว่าเมื่อคุณเพิ่ม PPA)

คุณจะได้รับไปโดยการติดตั้ง Qt5.0.0 (ไม่ 5.0.1) ผ่าน ( ไฟล์ .run ) และจากนั้นคัดลอกเนื้อหาของการ/usr/lib/i386-linux-gnu/qt5/qml//home/your-name-here/Qt5.0.0/5.0.0/gcc/qml

หลังจากนั้นคุณจะสามารถทำงานกับโครงการ Ubuntu ของคุณ (ไม่ว่าจะเปิดตัวจาก QML หรือผ่านทาง C ++ wrapper) จากผู้สร้าง Qt ที่มาพร้อมกับ Qt ที่คุณติดตั้งจากไฟล์เรียกใช้ (จะไม่มีความช่วยเหลือด้านเนื้อหาสำหรับรายการ QML ของ Ubuntu แม้ว่า)

ฉันคิดว่าเส้นทางการตั้งค่า (LD_LIBRARY_PATH และคณะ) จะช่วยให้แอพที่คอมไพล์รันจาก command-line ได้ แต่ Haver ไม่ได้ลองทำเช่นนั้นเนื่องจาก Qt5 ที่ติดตั้งกับ Ubuntu SDK นั้นอยู่บนเส้นทางของฉันเสมอและฉันเป็น Linux noob :)

หากคุณทราบวิธีการรับเนื้อหา/usr/lib/i386-linux-gnu/qt5/qml/โดยไม่ต้องติดตั้งส่วนประกอบโปรดอัปเดตคำตอบนี้

หวังว่าจะเป็นประโยชน์กับใครบางคน


1
ดูตัวอย่าง SDK ที่ช่วยให้การปรับปรุงที่ก้าวที่ดีดังนั้นถ้าคุณพบปัญหาใด ๆ โปรดทำรายงานพวกเขาที่bugs.launchpad.net/ubuntu-ui-toolkit/+filebug - ปัญหาโดยเฉพาะอย่างยิ่งที่คุณกำลังกล่าวขวัญเป็นข้อผิดพลาด ( bugs.launchpad .net / ubuntu-ui-toolkit / + bug / 1119730 ) ซึ่งสามารถแก้ไขได้ด้วยการติดตั้งแพ็คเกจที่หายไปด้วยตนเอง (เช่นsudo apt-get install qtdeclarative5-localstorage-plugin)
David Planella

และโดยทั่วไปฉันแนะนำเสมอให้ติดตั้งซอฟต์แวร์เวอร์ชันที่ทำแพคเกจซึ่งจะช่วยให้คุณไม่ต้องจัดการกับสิ่งต่าง ๆ เช่นLD_LIBRARY_PATH(หรือต้องรู้ว่ามันหมายถึงอะไร) และคุณจะได้รับการอัพเดตซอฟต์แวร์อัตโนมัติ! :)
David Planella

@DavidPlanella ตกลงขอบคุณมากสำหรับคำแนะนำ ฉันยังคงต้องการให้เฟรมเวิร์กติดตั้งด้วยตนเองเพื่อแยก dirs (อาจจะมีคน Slackware ที่ไหนสักแห่งในฉันใครจะรู้? :)
mlvljr

2
... และsudo apt-get install libqt5sql5-sqliteแก้ไขปัญหาที่สองมันปรากฏขึ้น
mlvljr

0

ฉันมีปัญหากับ LocalStorage แต่หลังจากนั้นฉันติดตั้ง qtdeclarative5-localstorage-plugin ดังที่ David Planella กล่าว หลังจากนั้นฉันพบข้อผิดพลาดที่ฉันไม่ได้ติดตั้ง LocalStorage ในบรรทัด

import LocalStorage 2.0

แล้วฉันเปลี่ยนมันเป็น

import QtQuick.LocalStorage 2.0

และมันใช้งานได้แล้ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.