我在Windows上使用Cygwin和cygwin'd版本的ruby。
$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-cygwin]
成功安装rspec(gem install rspec)之后,我尝试运行基本的init命令(rspec --init)来开始,但是我收到了一个bash命令找不到消息。
$ rspec --init
-bash: rspec: command not found
我猜这种情况正在发生,因为我的C:\ cygwin64 \ bin目录下没有“rspec”文件(因为有“ruby”,“irb”等文件,cygwin必须在命令时查看这些文件输入它。)
浏览我的cygwin目录,我可以在“C:\ cygwin64 \ home \ username \ .gem \ ruby \ gems \ rspec-core-3.3.2 \ exe”下看到rspec“exe”文件。我认为这意味着只需将此文件添加到cygwin的路径中,但我无法找到一个很好的例子。理想情况下,该解决方案将处理此gem(rspec)和所有未来的安装,而无需每次都对该路径进行“硬编码”。
看着我的“宝石环境”,似乎已安装的宝石已经在我的“GEM PATHS”之下了。看起来这与Cygwin正在寻找的地方之间存在脱节。
$ gem environment
RubyGems Environment:
- RUBYGEMS VERSION: 2.4.7
- RUBY VERSION: 2.2.2 (2015-04-13 patchlevel 95) [x86_64-cygwin]
- INSTALLATION DIRECTORY: /home/username/.gem/ruby
- RUBY EXECUTABLE: /usr/bin/ruby.exe
- EXECUTABLE DIRECTORY: /home/username/bin
- SPEC CACHE DIRECTORY: /home/username/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-cygwin
- GEM PATHS:
- /home/username/.gem/ruby
- /usr/share/gems
- /usr/local/share/gems
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/bin
- /usr/bin
...
我在搜索中发现的最接近的是另一个StackOverflow问题:
What version of ruby use with cygwin?
但根据我对解决方案的理解,它将寻找扩展名为.bat的文件。在我的cygwin中运行它的部分来测试它不会产生有用的结果。
有关使cygwin与我在宝石环境中看到的一致的任何提示吗?
答案 0 :(得分:12)
虽然我的回答有点晚,但我认为它可能有助于有同样问题的人。
对我来说问题是,所有ruby可执行文件都存储在~/.gemrc
。中,这在我的cygwin路径中没有设置。所以我在gemhome: /usr/local/rubygems
gem: --bindir /usr/bin
:
/usr/bin
重新安装宝石之后,一切都很顺利。这会将所有gem可执行文件直接安装到PATH
中。对于多用户设置,这肯定有点脏。
如果您需要正确的多用户设置,更好的方法是将~./bin
调整为指向 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSLog(@"%ld",(long)indexPath.row);
if (indexPath.row==0)
{
[self performSegueWithIdentifier:@"abc" sender:self];
}
if (indexPath.row==1)
{
}
}
isntead。
进一步阅读:
答案 1 :(得分:7)
您可以将以下内容添加到.bashrc
或类似内容中:
export PATH=$PATH:~/bin
并执行source ~/.bashrc
将其立即添加到路径中。