mac vim 疑难杂症

之前更新macOS Sierra,照例当然会出现一些问题。

YouCompleteMe 无法使用

在vim里UpdatePlugin并且重新编译YouCompleteMe.

./install.py --clang-completer --gocode-completer --tern-completer

但是会发现,启动vim仍然不行。

发现vim又是系统自带的版本,这个YCM的issueissue#2218上有类似的讨论。

解决方法是:ln -s /usr/local/opt/macvim/bin/mvim /usr/local/bin/vim,也可以指定到/usr/bin/vim(因为在我的系统上PATH里"/usr/local/bin"要靠前),但是这样最好备份系统自带的vim。

erlang-erl

代码

-module(tut17).

-export([start_ping/1, start_pong/0,  ping/2, pong/0]).

ping(0, Pong_Node) ->
    {pong, Pong_Node} ! finished,
    io:format("ping finished~n", []);

ping(N, Pong_Node) ->
    {pong, Pong_Node} ! {ping, self()},
    receive
        pong ->
            io:format("Ping received pong~n", [])
    end,
    ping(N - 1, Pong_Node).

pong() ->
    receive
        finished ->
            io:format("Pong finished~n", []);
        {ping, Ping_PID} ->
            io:format("Pong received ping~n", []),
            Ping_PID ! pong,
            pong()
    end.

start_pong() ->
    register(pong, self()),
    pong().

start_ping([Pong_Node]) ->
    register(ping, self()),
    ping(3, Pong_Node).

// -sname 运行
erl -noshell -sname pong -s tut17 start_pong -s init stop
erl -noshell -sname ping -s tut17 start_ping [email protected] -s init stop

// -name 运行
erl -noshell -name [email protected] -s tut17 start_pong -s init stop
erl -noshell -name [email protected] -s tut17 start_ping [email protected] -s init stop

RabbitMQ 笔记

rabbit management

启用management插件: sudo rabbitmq-plugins enable rabbitmq_management
默认端口:15672
默认用户:guest:guest
但是默认用户只能通过localhost登陆,要想通过其他方式登录,必须在config文件中添加如下内容:

[{rabbit, [{loopback_users, []}]}].

配置文件路径:/etc/rabbitmq/rabbitmq.config

加入集群

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster [email protected]
sudo rabbitmqctl start_app

离开集群

// 在需要离开的机器上操作
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

// 远程master上操作
// sudo rabbitmqctl stop_app (rabbit1)
sudo rabbitmqctl forget_cluster_node [email protected]

PHP手动安装扩展的一般过程

通常除了通过apt-get可以安装php外,我们还需要从源码安装一些其他的扩展。

首先安装php5-dev

apt-get install  php5-dev

然后进入下载的源文件代码根目录,执行:

phpize
./configure
make
make install

需要注意的是,可能提示找不到phpize或者运行./configure的时候找不到php-config
这时,就需要手动指定:

/usr/local/php5/bin/phpize
./configure --with-php-config=/usr/local/php5/bin/php-config

安装好后,根据声称的扩展库文件在/etc/php/cli/php.ini/etc/php/fpm/php.ini中添加扩展就好了:

extension=扩展名.so

参考:编译PHP扩展的两种方式