无root条件安装zsh和oh-my-
zsh
是一大终端利器, 什么?你还不知道?
不仅是样式而且在自动补全等等功能完爆bash,谁用谁知道!
如何在一个没有root环境的账户下配置呢? 这时候就要我们自己编译zsh了
参考:
- 安装zsh
首先从sourceforge下载zsh
wget -O zsh.tar.gz https://sourceforge.net/projects/zsh/files/latest/download
mkdir zsh && tar -xvf zsh.tar.gz -C zsh --strip-components 1
cd zsh
# 配置,比如将Zsh安装到~下
./configure --prefix=$HOME
make
make install
网上给的解压的部分多为tar -xvzf zsh.tar.gz
但实际上我用的时候提示文件并没有被压缩, 所以我去掉了z
我这里将它直接安装到了~文件夹下, 安装过后home文件夹出现了
share
和bin
文件夹,然后运行zsh
有反应, 说明安装成功了
还是推荐安装到$HOME/usr
目录下
- 安装oh-my-zsh
克隆oh-my-zsh
到本地, 手动执行
wget --no-check-certificate https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh
bash install.sh
- 出现问题
并没有出现网上所说的, 安装完oh-my-zsh
出现相关字样. 反倒是在运行zsh
的时候, 出现:
/public/liangy/.oh-my-zsh/lib/theme-and-appearance.zsh:2: colors: function definition file not found
/public/liangy/.oh-my-zsh/oh-my-zsh.sh:76: compinit: function definition file not found
/public/liangy/.oh-my-zsh/plugins/git/git.plugin.zsh:83: command not found: compdef
/public/liangy/.oh-my-zsh/plugins/git/git.plugin.zsh:98: command not found: compdef
...
这是因为oh-my-zsh
没有找到我们的zsh
,所以我们需要手动指定
- 修改oh-my-zsh配置
参考
github
的issue
https://github.com/robbyrussell/oh-my-zsh/issues/4607
Addexport FPATH=$HOME/usr/share/zsh/'version of zsh'/functions:$FPATH
in your.zshrc
这里, 我们只需要稍作修改export FPATH=$HOME/share/zsh/'version of zsh'/functions:$FPATH
因为我们的zsh源码位于~/share/zsh
里, 所以这一步与其他不同
配置成功