我从源代码编译了 sqlite3,版本 3.6.16。我将其用作--prefix=/usr/bin
唯一的编译选项。
二进制文件已正确编译并安装,但位于目录/usr/bin/sqlite3/bin
。因此应用程序位于/usr/bin/sqlite3/bin/sqlite3
。
现在,我该如何“告诉 Linux” sqlite3 已安装到那里?那么当我运行时which sqlite3
它会打印/usr/bin/sqlite3/bin/sqlite3
吗?
我特别需要这个版本来sqlite3
编译 RubyGem;sqlite3-ruby
,v1.3.0 或更高版本。
我假设我将添加PATH
或某些内容到我的~/.profile
,然后运行source .profile
以重新加载更改。什么是“告诉 Linux”应用程序安装到哪里symlinks
??
答案1
尝试编辑~/.bashrc
以包含此行:
export PATH=$PATH:/usr/bin/sqlite3/bin/
不修改路径的另一种方法是创建符号链接:
sudo ln -s /usr/bin/sqlite3/bin/sqlite3 /usr/local/bin/sqlite3
请注意,如果您安装了sqlite3
的包,其可执行文件将与您新编译的版本冲突。您必须/usr/bin/sqlite3/bin/sqlite3
明确运行。
顺便说一句,用作--prefix=/usr/bin
编译选项不是一个好主意,我建议--prefix=/usr/local
这样做。
答案2
通常,在编译源代码时,我会使用类似以下内容:
--prefix=/usr
我认为这会让一切如你所愿。