@lithium4010 不能,直接在用户目录下 git clone 一个项目 bundle install 都失败了,同样的错误
@lithium4010 在 mkmf.log 里到check for rb_big_cmp()
, 后面就没有了
下面是文件的最后
have_func: checking for rb_big_cmp()... -------------------- yes
"gcc -o conftest -I/home/x'x'x/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0/x86_64-linux -I/home/xxx/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0/ruby/backward -I/home/xxx/.rvm/rubies/ruby-2.2.5/include/ruby-2.2.0 -I. -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Wpointer-arith -Wwrite-strings -Wdeclaration-after-statement -Wimplicit-function-declaration -Wdeprecated-declarations -Wno-packed-bitfield-compat -fPIC conftest.c -L. -L/home/xxx/.rvm/rubies/ruby-2.2.5/lib -Wl,-R/home/xxx/.rvm/rubies/ruby-2.2.5/lib -L. -fstack-protector -rdynamic -Wl,-export-dynamic -Wl,-rpath,'/../lib' -Wl,-R'/../lib' -lruby -lpthread -lrt -ldl -lcrypt -lm -lc"
checked program was:
/* begin */
1: #include "ruby.h"
2:
3: /*top*/
4: extern int t(void);
5: int main(int argc, char **argv)
6: {
7: if (argc > 1000000) {
8: printf("%p", &t);
9: }
10:
11: return 0;
12: }
13: int t(void) { void ((*volatile p)()); p = (void ((*)()))rb_big_cmp; return 0; }
/* end */
--------------------
Hi @Rei 今天我又仔细找了找这个问题的原因,发现了两个事儿,一个是无论是否用 rvm,ruby 2.2.5 下的 include 目录下都会是 ruby2.2.0,这个之前还真没注意过,真是吃一堑长一智啊,有机会一定好好看看这里...
另外,以上的这个问题我试了 N 种情况,最后发现是 bundle install 的问题。凡是直接 bundle install 的话,就会报这个Cannot execute mysql_config at /etc/my.cnf
的错误导致mysql2
安装失败。但是如果直接gem install mysql2 -v '0.4.9'
的话,则会安装成功。不知道这个问题 @Rei 你知道是什么情况吗
Hi @midwinter , 首先非常感谢关注。
这个 rvm 的配置我已经加上了,在 remote_environment 里,而且我在incoke :'bundle:install'
之前曾经试过用 command 打印 ruby 的版本等,可以确认 rvm 的设置已经生效
@Rei 好的,多谢!我会考虑你的意见
把这里的配置文件修改下试试 config/secrets.yml 执行 rake secret 获取 secret_key_base