2014-11-06 15 views
21

Tôi hiện đang đọc sách Play for Scala: Covers Play 2 của Peter Hilton (nhà xuất bản: Manning) và cố gắng tuân theo các phiên bản mà họ đã nêu trong sách (Phiên bản Play 2.1.1) .Sbt 0.12.4+ yêu cầu khi nhập dự án

Tôi đã tải xuống ứng dụng IntelliJ IDEA 14 CE mới và cài đặt ứng dụng này. Tôi hiện đang nhập dự án và không thành công vì nó muốn có phiên bản sbt là 0.12.4 trở lên.

Build failing

Vấn đề này xảy ra trong 13 ngày khác, nhưng tôi đã không có thời gian để giải quyết nó, vì vậy xin vui lòng, không có khuyến nghị quay trở lại 13 :)

Đây là thịt của vấn đề: Khi tôi nhập sbt --version trên CLI, nó in sbt launcher version 0.13.6. Tôi có phiên bản "lớn hơn", nhưng dường như IDEA không nhận ra điều này.

Trong nỗ lực để chỉ định trình khởi chạy SBT của riêng tôi, tôi đã chỉ trình khởi chạy tùy chỉnh (trong cài đặt toàn cầu của IDEA) vào một trong /usr/local/Cellar/sbt/0.13.6/libexec/sbt-launch.jar, nhưng bản dựng cũng không thành công với cùng một lỗi.

Như bạn có thể đã đoán tại thời điểm này, tôi đã sử dụng Homebrew để cài đặt và quản lý Scala và sbt. Khi tôi bắt đầu làm việc với Scala vào tháng 2, tôi nhớ phải thực hiện một vài chỉnh sửa nhỏ trong cài đặt để IDEA tìm Scala, nhưng phiên bản IDEA 14 của tôi hoàn toàn mới - tôi không nhập bất kỳ cài đặt nào trước đó. Tôi đã tải về các plugin Scala và sbt và chúng dường như được cấu hình đúng sau một cái nhìn lướt qua và tạo ra một dự án thử nghiệm mới.

Dưới đây là những gì tôi không hiểu: Đầu tiên và rõ ràng nhất, tại sao phiên bản sbt đáp ứng yêu cầu được giả định (0.12.4+) không thành công với phiên bản 0.13. *?

Thứ hai, sbt đi kèm với IDEA cũng lớn hơn phiên bản này? Có thể một cờ sbt ở đâu đó trong hệ thống của tôi đang trỏ nó đến phiên bản cũ hơn không? Một lưu ý phụ, tôi có một vài phiên bản của sbt trong "Cellar" của tôi, nhưng tất cả đều lớn hơn 0,13.

Rất cám ơn sự giúp đỡ của bạn!

Trả lời

36

Tôi đã xem xét các mẫu mã từ trang web của Manning và các tệp project/build.properties cho mỗi dự án chỉ định sbt.version=0.12.2. Tôi đoán là plugin Intellij Scala chỉ hỗ trợ SBT 0.12.4 và không thể nhập dự án được cấu hình để sử dụng phiên bản cũ hơn (vì vậy tại sao nó đề xuất bạn "cập nhật định nghĩa dự án").

Bạn nên thử sử dụng sbt.version=0.12.4 trong tệp project/build.properties.

Nói chung, hãy nhớ rằng khi phiên bản SBT được chỉ định trong project/build.properties, trình khởi chạy SBT tải xuống phiên bản được chỉ định và sử dụng nó để xây dựng dự án. Trong trường hợp của bạn, điều đó có nghĩa là trình khởi chạy SBT 0.13.6 sẽ tải xuống SBT 0.12.2 và sử dụng phiên bản đó để xây dựng dự án.

+1

Cảm ơn bạn. Điều này giải quyết vấn đề cho tôi, và làm rõ rất nhiều cho tôi. Tôi ước tôi có thể upvote điều này nhiều hơn chỉ một lần. –

+1

Bạn được chào đón! Nhân tiện, nếu bạn quan tâm đến việc hiểu rõ hơn về SBT, tôi có thể giới thiệu cuốn sách "SBT in Action" (hiện có sẵn dưới dạng bản xem trước truy cập sớm từ Manning Publishing, chưa hoàn thành) - nhưng tài liệu về [ Trang web SBT] (http://www.scala-sbt.org/documentation.html) cũng là một nơi tốt để bắt đầu. –

+0

Cảm ơn bạn, tôi nghĩ rằng hầu hết sự thất vọng của tôi với Scala xuất phát từ sự thiếu hiểu biết sbt, vì vậy mà có lẽ sẽ làm cho cuộc sống của tôi dễ dàng hơn.Chúc mừng, và cảm ơn rất nhiều sự giúp đỡ và khuyến nghị của bạn! –

Các vấn đề liên quan