Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在编译的ruby上运行_Ruby - Fatal编程技术网

在编译的ruby上运行

在编译的ruby上运行,ruby,Ruby,我想对ruby核心做出贡献,我已经签出了源代码,构建了它,现在我想对我构建的ruby版本从测试文件夹运行一个测试 我遇到了麻烦,我已经包含了ruby在库中查找的本地路径,但它找不到线程 ./ruby -I./lib -I. -I.ext/common test/socket/test_socket.rb 我刚刚得到: ~/ruby/lib/rubygems.rb:9:in `require': cannot load such file -- thread (LoadError) 知道我做错

我想对ruby核心做出贡献,我已经签出了源代码,构建了它,现在我想对我构建的ruby版本从测试文件夹运行一个测试

我遇到了麻烦,我已经包含了ruby在库中查找的本地路径,但它找不到线程

./ruby -I./lib -I. -I.ext/common test/socket/test_socket.rb
我刚刚得到:

~/ruby/lib/rubygems.rb:9:in `require': cannot load such file -- thread (LoadError)

知道我做错了什么吗?

看来您没有正确引用目录

假设您已克隆到
~/ruby
,并且已运行
/configure--prefix=~/ruby-2.5.1
,然后是
make
make install
,因此您的ruby二进制文件是
~/ruby-2.5.1/bin/ruby

如果您的shell当前位于目录
~/ruby-2.5.1/bin
,则正确的输入命令是:

./ruby -I~/ruby/lib -I~/ruby -I~/ruby/ext/common ~/ruby/test/socket/test_socket.rb
请注意,由于您的工作目录是
~/ruby-2.5.1/bin
,因此无法使用
/
引用
~/ruby
中的ruby源代码<代码>/表示

现在输出应该是:

Loaded suite ~/ruby/test/socket/test_socket
Started
....................................
Finished in 10.26308 seconds.
36 tests, 115 assertions, 0 failures, 0 errors, 0 pendings, 0 omissions, 0 notifications
100% passed
您当时可能使用的Ruby版本是Ruby 2.2(2014年12月25日发布),但同样的答案也适用于该版本,因为无论是源代码还是编译和安装的二进制版本,目录结构在那时到2.5之间都没有改变