如何从源完成程序的安装?

我从源代码版本3.6.16编译了sqlite3。 我使用--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或更高版本。

我假设我将在~/.profile添加PATH或其他内容,然后运行source .profile来重新加载更改。 什么是“告诉Linux”安装应用程序的地方? symlinks

通常,在编译源代码时,我会使用类似于以下内容的东西:

 --prefix=/usr 

我怀疑这会把你所期望的一切都放在一边。

尝试编辑~/.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