Realm入門という本の「06_モデルオブジェクトの生成と初期化」の下記サンプルコードをダウンロードして使おうとXcode9.1で開いた所、エラーが出て前に進めません。解決方法を御教示頂けないでしょうか。

エラー内容
「ModelCreationのViewController.swift/import RealmSwift」のところに「Module compiled with Swift 3.0.2 cannot be imported in Swift 3.2.2」

試したこと
ネットで探して以下の4点を試しました。
①「carthage bootstrap --platform iOS --no-use-binaries」
(結果→-bash: carthage: command not found)
②$ brew update/$ brew install carthageをやった(結果→ command not found。)
③Carthage.pkg をダウンロードしてインストール後に①(結果→ command not found。)
④build holderのクリーン後に①(結果→ command not found。)

環境 MacBookPro HighSierra10.13.1 Xcode9.1

import UIKit
import RealmSwift

class Person: Object {
    dynamic var name = ""
    dynamic var age = 0
    dynamic var dog: Dog?   // Dogモデルと1対1の関連
    let cats = List<Cat>()  // Catモデルと1対多の関連
}

class Animal: Object {
    dynamic var name = ""
    dynamic var age = 0
}

class Dog: Animal {
}

class Cat: Animal {
}

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // MARK: - 6.2 生成と初期化する方法
        print("6.2 生成と初期化する方法(p035)")

        print("- ①生成後に各プロパティ値を設定する(p036)")
        var dog = Dog()
        dog.name = "Momo"
        dog.age = 9

        print("- ②キー値コーディング(KVC)に準拠しているオブジェクトで初期化する(p036)")
        dog = Dog(value: ["name": "Momo", "age": 9]) // Dictionaryで初期化

        print("- ③各プロパティの値の配列で初期化する(p036)")
        dog = Dog(value: ["Momo", 9])

        // MARK: - 6.3 ネストしたモデルオブジェクトの生成と初期化
        print("6.3 ネストしたモデルオブジェクトの生成と初期化(p037)")

        let cat1 = Cat(value: ["Toto", 1])
        let cat2 = Cat(value: ["Rao", 2])

        print("- ①生成後に各プロパティ値を設定する(p037)")
        var person = Person()
        person.name = "Yu"
        person.age = 32
        person.dog = dog
        person.cats.append(objectsIn: [cat1, cat2])

        print("- ②キー値コーディング(KVC)に準拠しているオブジェクトで初期化する(p037)")
        person = Person(value: ["name": "Yu",
                                "age": 32,
                                "dog": ["name": "Momo", "age": 9],
                                "cats": [["name": "Toto", "age": 1],
                                         ["name": "Rao", "age": 2]]])

        // Objectもキー値コーディングに準拠しているので初期化に使用できます。
        person = Person(value: ["name": "Yu",
                                "age": 32,
                                "dog": dog,
                                "cats": [cat1, cat2]])

        print("- ③各プロパティの値の配列で初期化する(p038)")
        person = Person(value: ["Yu",
                                32,
                                dog,
                                [cat1, cat2]])

        // オプショナル型やListクラス内の要素がない場合でも、配列内の値を省略することはできません。
        // 値がない場合はnilを指定する必要があります。
        person = Person(value: ["Yu",
                                32,
                                nil,
                                nil] as [Any?])

        // 例えば次のコードはオプショナル型とList型に対しての要素がないためクラッシュする。
        // person = Person(value: ["Yu", 32]) // ← 実行すると例外が発生しクラッシュ
    }

    // MARK: - Util

    @IBOutlet weak var textView: UITextView!

    func print(_ string: String) {
        Swift.print(string)
        if textView.text.characters.count > 0 {
            textView.text = textView.text.appending("\n")
        }
        textView.text = textView.text.appending(string)
    }

}