我刚买了一台新的MBP电脑。
我在网上读到OSX已经预装了Sqlite3。
我已经下载并安装了mac ports,以及从官方网站下载了sqlite3的bin文件。
在我阅读有关rails的指南中,指南告诉我要更新sqlite3,因此我在终端中运行以下命令:sudo port upgrade sqlite3
然后我收到以下错误提示:Error: sqlite3未安装
我很困惑,请帮忙!
我刚买了一台新的MBP电脑。
我在网上读到OSX已经预装了Sqlite3。
我已经下载并安装了mac ports,以及从官方网站下载了sqlite3的bin文件。
在我阅读有关rails的指南中,指南告诉我要更新sqlite3,因此我在终端中运行以下命令:sudo port upgrade sqlite3
然后我收到以下错误提示:Error: sqlite3未安装
我很困惑,请帮忙!
我不记得默认的配置了,但是像你一样,我自己安装了sqlite。您可以通过在OS X终端中键入which
命令来检查您的sqlite安装是否完成:
$ which sqlite3
/opt/local/bin/sqlite3
which
没有显示任何内容,则说明 sqlite3 不在您系统的 PATH 中。使用 cat
命令查看它是如何设置的(在您的 /etc/profile 文件中);
$ cat /etc/profile # System-wide .profile for sh(1)您可以在文本编辑器中打开该文件并将路径添加到底部的行中。您可以看到我已将 sqlite 安装到 /opt/sqlite,而不是 /usr/local,因此我必须将其添加到我的路径中。这告诉系统在给定命令时检查可执行文件的位置。
if [ -x /usr/libexec/path_helper ]; then eval `/usr/libexec/path_helper -s` fi
if [ "${BASH-no}" != "no" ]; then [ -r /etc/bashrc ] && . /etc/bashrc fi
export PATH="/usr/local/bin:/usr/local/sbin:$PATH" export PATH="/usr/local/mysql/bin:$PATH" export PATH="/opt/svn/subversion-1.4.3/bin:$PATH" export PATH="/opt/ruby/bin:$PATH" export PATH="/opt/sqlite/bin:$PATH"
$ sudo gem list Password:如果不存在,则 `sudo gem install sqlite3-ruby' 将在短时间内为您解决问题。如果您执行这两个步骤,Rails 应该可以直接使用 sqlite。
*** LOCAL GEMS ***
# ...loads of gems listed ...
sqlite3-ruby (1.2.4)
# ... loads of gems listed ...
安装sqlite gem时,仅凭二进制文件可能不够。您需要从sqlite网站获取聚合tarball或通过端口进行安装:
sudo port install sqlite3
我看到很多帖子建议安装XCode工具。我已经安装了XCode 3.2。从CD安装XCode并没有帮助。
以下方法可以帮助解决问题:
sudo env ARCHFLAGS="-arch x86_64" gem install sqlite3-ruby
它没有通过 Mac ports 安装,因此 port 不知道它。你可以通过 port 进行安装,或者让 Rails 使用已经安装在 Mac 上的那个。