此问题主要是没有把 /usr/local/sbin 加入path,使用下面指令可以将其加入path:

export PATH=$PATH:/usr/local/sbin

此指令只对当前终端窗口有效,关闭后失效。可将命令加入 ~/.bash_profile 文件使设置永久有效,此文件一般不存在,可新建:

vim ~/.bash_profile

加入代码:

export PATH=$PATH:/usr/local/sbin

关闭文件后,重新载入配置:

source ~/.bash_profile

重新运行命令测试是否已经可用。


macOS/Linux

通过设置代理来让终端流量走代理端口(socks5适用于大部分的流量,有些程序不走http),在终端输入:

export all_proxy=socks5://127.0.0.1:1080

取消代理:

unset all_proxy

也可以通过创建alias来设置一个“快捷命令”运行此命令:

alias proxy='export all_proxy=socks5://127.0.0.1:1080'
alias unproxy='unset all_proxy'

然后开启代理就输入:

proxy

取消代理输入:

unproxy

设置只对当前窗口有效,关闭后取消。

阅读全文


近期在开发过程中遇到一个奇怪的问题,当我复制一个文件夹到新目录时候总是失败,查看日志发现是传递地址出错了。
我是使用的是Boost的filesystem C++库处理文件,下面是代码片段,将path类型的地址放入一个指针,然后调用其他function:

fs::path childDir = np;
childDir += "/\\" + dir_itr->path().filename().string();
const char* c_childDir = childDir.string().c_str();

我在本机实验是没有问题,但在他人电脑上提示directory error。
我将path里的地址先存放到一个string里然后在转换为char*,发现问题解决了。
我想可能的原因就是path不能直接使用其指针地址。下面是修改后的程序片段:

string s_childDir = newDir;
s_childDir += "/\\" + dir_itr->path().filename().string();
const char* c_childDir = s_childDir.c_str();

以上就是关于boost库里使用path的指针问题的解决方法。


Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。

GitHub:https://github.com/v2ray/v2ray-core
官网:https://www.v2ray.com
客户端下载:https://github.com/v2ray/v2ray-core/releases

阅读全文