无法在Vapor项目中集成SQLite

时间:2017-03-23 10:06:52

标签: swift sqlite vapor

我正在尝试将SQLite集成到Vapor项目中。我在ready: TextWindow.WriteLine("Do you want to bet? yes(1) or no(2).") answer = TextWindow.ReadNumber() If answer = 1 Then Goto start Else Goto ready EndIf start: TextWindow.WriteLine("Ok lets go.") points = 100 var1 = Math.GetRandomNumber(10) If 5 < var1 < 9 Then points = points + 100 ElseIf 9 < var1 < 10 then points = points + 200 Elseif 1 < var1 < 5 then points = points - 100 EndIf TextWindow.WriteLine("You rolled " + var1 + ". You now have " + points + " points.") 文件中添加了Sqlite Provider的包:

Package.swift

并在config目录下创建了一个.Package(url: "https://github.com/vapor/sqlite-provider.git", majorVersion: 1, minor: 1) 文件,其中包含

sqlite.json

之后,我运行{ "path": "database_name.sqlite" } 将sqlite集成到项目中。一切正常,除了现在项目显示两个 Swift编译器错误

  找不到标题'/usr/local/opt/sqlite/include/sqlite3.h'

  

无法构建Objective-C模块'CSQliteMac'

您能帮忙解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

以下是您可能想要做的事情:

1:首先检查该文件夹中的/usr/local/opt/sqlite文件夹和includes子文件夹是否存在。

2:如果/usr/local/opt/sqlite文件夹不存在,则可能需要安装SQLite。最简单的方法是通过Homebrew - 如果你安装了它。只需从终端运行以下命令:

brew install sqlite

3:如果您没有自制软件,那么您必须决定是否要安装Homebrew,或者是否要尝试手动安装SQLite源。

希望这有助于:)

答案 1 :(得分:1)

这显然是mysql的安装问题,按照以下步骤运行mysql steam app。

  1. 首先卸载已安装的mysql。
  2. here安装brew或在命令

    下运行
    return
  3. 运行以下命令安装mysql

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    
  4. 运行以下命令进行链接

    brew install mysql
    
  5. 运行以下命令启动mysql服务器

    brew link mysql
    
  6. 为root用户运行以下命令

    mysql.sever start 
    
  7. 然后运行以下命令来设置ROOT用户密码

    mysql -uroot
    
  8. 使用以下命令

    在运行项目之前创建数据库
    SET PASSWORD = PASSWORD(‘admin’);
    
  9. 然后运行你的项目,毫无疑问,你的项目将在此之后运行。

  10.   

    注1: - 不要忘记在项目中添加mysql.json,如here所述。

      

    注2: - 也不要忘记使用模型类添加提供者和准备数据库表,如下所示。

    create database your_database_name_goes_here;
    

    我已在Github here创建了一个演示项目,您可以尝试。

答案 2 :(得分:0)

感谢 @Fahim sqlite3.h并非

/usr/local/opt/sqlite/include/sqlite3.h

在我的情况下,正确的位置是 /usr/local/Cellar/sqlite/3.17.0/include/sqlite3.h

只需在终端中运行以下命令:

brew install sqlite

如果您以前安装过,它将安装或更新。完成后,您会看到 摘要 之类的内容:

  

==&GT;摘要
    /usr/local/Cellar/sqlite/3.17.0:11个文件,2.9MB

提供sqlite位置/usr/local/Cellar/sqlite/3.17.0

现在点击第一条错误消息,它会转到module.modulemap文件。替换位置和构建。它将成功构建。