我在Mac上使用Lion。我正在为Ruby on Rails开发配置我的系统,但我遇到了一些问题。我没有使用brew或其他快捷方式,而是希望从源代码配置Ruby on Rails。所以,这就是我所做的。
已安装的Ruby 2.0
运行以下代码编译:
./ configure --prefix = / Users / user / Applications / ruby2
请
make install
确保$ PATH文件更新为指向/ Users / user / Applications / ruby2 / bin
所以,我可以调用ruby -v
或者如果我which ruby
,它确实指向我的自定义编译版本的Ruby。
已安装的Node.js
运行以下代码编译:
./ configure --prefix = / Users / user / Applications / nodejs
请
make install
确保$ PATH文件更新为指向/ Users / user / Applications / nodejs / bin
所以,我可以调用node -v
或者如果我which node
,它确实指向我的自定义编译版本的Ruby。
我也为openssl执行了相同的步骤,也可以从控制台访问它,或者如果which openssl
它指向/Users/user/Application/openssl/bin
但是当我执行gem install rails
时,我仍然会收到以下错误:
ERROR: Loading command: install (LoadError)
cannot load such file -- openssl
ERROR: While executing gem ... (NoMethodError)
undefined method `invoke_with_build_args' for nil:NilClass
知道为什么吗?
系统规格
答案 0 :(得分:1)
我设法通过执行以下操作来解决问题。主要问题是我自己编译openssl的步骤。
由于我在64位计算机上,因此必须首先运行以下命令来配置openssl
./configure --prefix=/Users/user/Applications/openssl darwin64-x86_64-cc
./make
./make install
然后重新编译ruby
./configure --prefix=/Users/user/Applications/ruby2 --with-openssl-dir=/Users/user/Applications/openssl
./make
./make install
注意:即使在编译ruby时,它可能会说......选项--with-openssl-dir无效或不存在,请忽略它。
答案 1 :(得分:0)
我对这个错误感到非常糟糕。 最后我完成了它。无论是使用RVM还是没有RVM,都只有一次解决方案。
确保在安装ruby之前首先安装了OpenSSL。
首先你应该找到Ruby的位置:
whereis ruby
将列出系统中存在的所有位置,然后您可以显式删除所有这些位置。或者你可以使用这样的东西:
rm -rf /usr/local/lib/ruby
rm -rf /usr/lib/ruby
rm -f /usr/local/bin/ruby
rm -f /usr/bin/ruby
rm -f /usr/local/bin/irb
rm -f /usr/bin/irb
rm -f /usr/local/bin/gem
rm -f /usr/bin/gem
THEN
sudo apt-get install zlib1g zlib1g-dev build-essential openssl libssl-dev libmysqlclient18 libmysqlclient-dev libyaml-dev curl git-core python-software-properties libpq-dev nodejs
apt-get -y update
apt-get -y install build-essential zlib1g-dev libssl-dev libreadline6-dev libyaml-dev
cd /tmp
wget http://cache.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p247.tar.gz
tar -xvzf ruby-2.0.0-p247.tar.gz
cd ruby-2.0.0-p247/
./configure --prefix=/usr/local
make
make install
我希望这对你有所帮助。