我正在尝试让我的开发环境正常运行,并且遇到了重大障碍。一切看起来都会很成功,而我却得到了一个糟糕的翻译。任何人都可以帮我这个吗?
这些是我在命令行运行它时得到的返回值:
command: `$ xcode-select version` returns: `2343.`
command: `$ rbenv version` returns: `rbenv 1.0.0`
command: `$ rbenv global 2.2.1` set rbenv to *2.2.1
command: `$ ruby -v` returns: `2.2.1p85`
好的到目前为止......
command: `$ gem install rails` returned: `Successfully installed rails-4.2.6`
command: `$ rbenv rehash` after every command
command: `$ rails new testapp` returns: `-bash: /usr/local/bin/rails: /usr/local/opt/ruby/bin/ruby: bad interpreter: No such file or directory`
我想我有问题。
command: `$ git --version` returns: `git version 2.5.4`
可能会发生什么,我可以从这种堕落中恢复过来吗?
当我启动服务器并查看网址时,我看到了那里的铁路版本。
command: `$ gem server`
在url localhost:8808我看到3个gems版本的rails:4.2.4,4.2.5,4.2.6
如何解决此问题?
答案 0 :(得分:1)
尝试使用gem cleanup
进行清理,然后重新安装rails
gem uninstall rails
gem install rails
答案 1 :(得分:1)
TL; DR:删除/ usr / local / bin中所有与ruby相关的非符号链接脚本,即所有破坏了shebang的内容。
当我意识到@Doon在这个问题的评论深处时,我正在写一个答案:
gem通常会将shebang设置为当前运行的ruby版本。
设置新的开发笔记本电脑后,我遇到了这个“糟糕的解释器”错误。我最初通过Homebrew(brew install ruby
)安装了ruby,以便快速启动并运行。公司设置脚本安装了chruby,但我不认为它构建了任何红宝石。据推测,我还安装了一些宝石。然后我安装了rbenv,我已经习惯了,并且使用它,我安装了几个红宝石。在某些时候,我卸载了Homebrew的ruby和chruby。
到那时,我在/usr/local/bin/
中有几个可执行文件,它们是常规文件(即不符号链接到../Cellar
中的文件),所有文件都有一个shebang行#!/usr/local/opt/ruby/bin/ruby
。但是,当我卸载Homebrew的ruby时,/usr/local/opt/ruby
已被删除,导致所有这些损坏的脚本。
我的解决方案:从头开始!
rbenv uninstall 1.2.3
)注意:这破坏了Homebrew的vim,需要红宝石瓶,所以我重新安装了它。
/ usr / local / bin中基于gem的脚本现在是符号链接到Cellar,基于Cellar的shebang,我的项目特定的rbenv安装的rubies指向我的.rbenv文件夹。一切都看得很好!
答案 2 :(得分:1)
将滑轨安装到上述位置。这样就可以了。
sudo gem install -n /usr/local/bin/ rails
答案 3 :(得分:0)
Bijoy Thangaraj的回答帮助解决了我的问题。我的目的是将此文字添加为评论,但鉴于我的声誉不到50,所以不可能。
如果可以根据相关答案将其转换为评论,将不胜感激。
我尝试通过rbenv,rvm和源代码进行安装。我正在通过源代码专注于该过程,因为bash在一点之后不会向上滚动。
如果您对我的流程不感兴趣,请直接跳至与该页面的主线程直接相关的步骤f)。
a)我遵循了gorails.com: Install Ruby On Rails on Windows 10 Guide上的指南,
b)特别遵循以下步骤installing ruby on rails via source code
c)键入最后一个命令:~/ruby-2.7.1$ ruby -v
我得到了:ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
。
仍为2.3版。
d)但是,我输入了gorails.com - Install Ruby on Rails on Windows 10 Guide建议的下一个命令。命令$ gem install bundler
,
我得到了:Fetching bundler-2.1.4.gem
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/local/lib/ruby/gems/2.7.0 directory.
尝试过$ sudo gem install bundler
和
得到:Fetching bundler-2.1.4.gem
Successfully installed bundler-2.1.4
Parsing documentation for bundler-2.1.4
Installing ri documentation for bundler-2.1.4
Done installing documentation for bundler after 15 seconds
1 gem installed
。
e)遵循同一指南,然后输入$ gem install rails -v 6.0.2.2
经过一些获取后,我最终得到了:Fetching sprockets-rails-3.2.1.gem
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /usr/local/lib/ruby/gems/2.7.0 directory.
还要检查rails版本:
命令:$ rails -v
结果:Traceback (most recent call last):
2: from /mnt/c/RailsInstaller/Ruby2.3.3/bin/rails:22:in
'
1:来自/usr/local/lib/ruby/2.7.0/rubygems.rb:252:在bin_path'
/usr/local/lib/ruby/2.7.0/rubygems.rb:275:in
find_spec_for_exe'中:找不到具有可执行轨的gem rail(> = 0.a)(宝石: :GemNotFoundException)`。
检查红宝石版本:
命令:$ ruby -v
结果:ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
f)继续安装滑轨:
命令:sudo gem install rails
结果; Done installing documentation for concurrent-ruby, i18n, thread_safe, tzinfo, zeitwerk, activesupport, rack, rack-test, mini_portile2, nokogiri, crass, loofah, rails-html-sanitizer, rails-dom-testing, builder, erubi, actionview, actionpack, activemodel, activerecord, globalid, activejob, mini_mime, mail, actionmailer, nio4r, websocket-extensions, websocket-driver, actioncable, mimemagic, marcel, activestorage, actionmailbox, actiontext, thor, method_source, railties, sprockets, sprockets-rails, rails after 1268 seconds
40 gems installed
检查rails版本:
命令:$ rails -v
结果:bash: /mnt/c/RailsInstaller/Ruby2.3.3/bin/rails: ruby: bad interpreter: No such file or directory
。
最后,
g)命令:$ sudo gem install -n /mnt/c/RailsInstaller/Ruby2.3.3/bin/ rails
结果:Successfully installed rails-6.0.2.2
Parsing documentation for rails-6.0.2.2
Done installing documentation for rails after 0 seconds
1 gem installed
检查rails版本:
命令:rails -v
结果:Rails 6.0.2.2
检查Ruby版本:
命令:ruby -v
结果:ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-linux]