如何从源完成程序的安装?
我从源代码版本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
。