Ruby on rails bundler安装时出现问题,说它安装了,但后来没有';我不能实际安装
我正在建立一个新的系统。我使用rbenv而不是rvm,因为rvm改变了“cd”的定义,这是邪恶的 我已经安装了所需版本的ruby和rails(我想),但bundler造成了一些问题:Ruby on rails bundler安装时出现问题,说它安装了,但后来没有';我不能实际安装,ruby-on-rails,ruby,bundler,rbenv,Ruby On Rails,Ruby,Bundler,Rbenv,我正在建立一个新的系统。我使用rbenv而不是rvm,因为rvm改变了“cd”的定义,这是邪恶的 我已经安装了所需版本的ruby和rails(我想),但bundler造成了一些问题: turlingdrome$ gem install bundler ERROR: While executing gem ... (Errno::EACCES) Permission denied @ rb_sysopen - /Users/brianp/.rbenv/versions/2.5.3/lib
turlingdrome$ gem install bundler
ERROR: While executing gem ... (Errno::EACCES)
Permission denied @ rb_sysopen - /Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/CHANGELOG.md
turlingdrome$ sudo gem install bundler
/usr/local/Cellar/rbenv/1.1.2/rbenv.d/exec/gem-rehash/rubygems_plugin.rb:6: warning: Insecure world writable dir /Users/brianp/work in PATH, mode 040777
Successfully installed bundler-2.0.1
Parsing documentation for bundler-2.0.1
Done installing documentation for bundler after 3 seconds
1 gem installed
turlingdrome$ sudo gem uninstall bundler
Gem 'bundler' is not installed
turlingdrome$ bundler install
Traceback (most recent call last):
2: from /Users/brianp/.rbenv/versions/2.5.3/bin/bundler:23:in `<main>'
1: from /Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)
turlingdrome$gem安装捆绑程序
错误:执行gem时。。。(错误号::EACCES)
权限被拒绝@rb_sysopen-/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/CHANGELOG.md
turlingdrome$sudo gem安装捆绑程序
/usr/local/ceral/rbenv/1.1.2/rbenv.d/exec/gem rehash/rubygems_plugin.rb:6:警告:不安全的世界可写目录/Users/brianp/work in PATH,模式040777
已成功安装bundler-2.0.1
bundler-2.0.1的解析文档
在3秒钟后完成bundler文档的安装
已安装1个gem
turlingdrome$sudo gem卸载捆绑程序
未安装Gem“bundler”
turlingdrome$bundler安装
回溯(最近一次呼叫最后一次):
2:from/Users/brianp/.rbenv/versions/2.5.3/bin/bundler:23:in`'
1:from/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:308:in'activate_bin_path'
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems.rb:289:在'find_spec_for_exe'中:找不到带有可执行捆绑程序(gem::GemNotFoundException)的gem捆绑程序(>=0.a)
所以,我试过使用sudo一次,现在我认为权限是超级用户。。。所以我用的是sudo。没什么大不了的
安装似乎可行
当我试图卸载时,它说它没有安装
当我试着运行它时,它发现了一个可执行文件,但随后说它找不到可执行文件
我正在使用ruby 2.5.3和rails(我想)5.2.3
Rails因以下原因崩溃:
turlingdrome$ rails -v
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.3/lib/rails/app_loader.rb:53: warning: Insecure world writable dir /Users/brianp/work in PATH, mode 040777
Traceback (most recent call last):
4: from bin/rails:3:in `<main>'
3: from bin/rails:3:in `require_relative'
2: from /Users/brianp/work/online-reporting/config/boot.rb:6:in `<top (required)>'
1: from /Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- bundler/setup (LoadError)
turlingdrome$rails-v
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/railties-5.2.3/lib/rails/app_loader.rb:53:警告:不安全的世界可写目录/Users/brianp/work-in-PATH,模式040777
回溯(最近一次呼叫最后一次):
4:从箱子/轨道:3:在`'
3:从箱子/轨道:3:在'require_relative'中
2:from/Users/brianp/work/online reporting/config/boot.rb:6:in`'
1:from/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core\u ext/kernel\u require.rb:59:in'require'
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/2.5.0/rubygems/core\u ext/kernel\u require.rb:59:“require”中:无法加载这样的文件--bundler/setup(LoadError)
我认为这是同一个问题
在mac上使用
rbenv
是在mac上管理ruby
安装的一个不错的选择,但是看起来你最终陷入了一个混乱的rbenv/gem/rails/bundler
安装和权限。它不值得修复,因此我建议只需去掉rbenv
,删除~/.rbenv
目录,然后再次使用安装rbenv
其他检查方法:
curl-fsSLhttps://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor |bash
~/.rbenv
目录,再次运行rbenv init
并安装所需版本的Ruby哪个ruby
和哪个gem
指向~/.rbenv
目录中的适当位置rbenv
和brew
,以及gem
不需要sudo
,因此您不应该将其与它们一起使用eval“$(rbenv init-”
,例如echo'eval“$(rbenv init-””>~/.bash\u profile
gem install bundler --user-install
似乎是文件夹的权限问题 权限被拒绝@rb_sysopen-
/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/bundler-2.0.1/CHANGELOG.md 我会尝试使用
chmod 755/Users/brianp/.rbenv/versions/2.5.3/lib/ruby/gems/2.5.0/gems/
有几个帖子处理类似的主题,例如
警告:不安全的世界可写目录/Users/brianp/work-in-PATH,模式040777
看起来访问权限有问题。试试这个:
sudo chmod 755 /Users/brianp/work
:
通过一个名为rehashing的过程,rbenv在该目录中维护垫片,以匹配Ruby irb、gem、rake、rails、Ruby等的每个安装版本中的每个Ruby命令
垫片是轻量级可执行文件,只需将命令传递给rbenv即可。因此,安装了rbenv后,当您运行(比如说)rake时,您的操作系统将执行以下操作:
- 在
路径中搜索名为rake的可执行文件
- 在路径的开头找到名为rake的rbenv垫片
- 运行名为
的垫片,该垫片依次将命令传递给rbenvrake
rbenv
安装搞砸了
(一)
(二)
3) 从~/.bash\u配置文件
或~/.bashrc
删除任何指向ruby
、irb
、gem
的$PATH
引用,或任何包含这些bin可执行文件的文件夹。考虑从您的代码> BasHyPrime< /代码> 注释任何<代码> $PATH < /Cord>语句。
# export PATH="$HOME/etc/bin:$PATH"
# leave the statement below
# export PATH="$HOME/.rbenv/bin:$PATH
$PATH
变量包括文件夹列表:
echo $PATH
home/fabrizio/.rbenv/shims:/opt/android-studio/bin:~/.scripts/bin
如果在终端中运行gem
包含在home/fabrizio/.rbenv/shimmes
或/opt/android studio/bin
中的任何.bin
可执行文件都可以从终端中的任何位置执行。当您运行gem
时,将执行,而不是从rbenv截取,因为您在rbenv外部安装了ruby
根据您的反馈进行更新
因此,请从您的~/.bash_配置文件
或~/.bashrc
中删除以下内容
echo $PATH
home/fabrizio/.rbenv/shims:/opt/android-studio/bin:~/.scripts/bin
PATH="$PATH:$(ruby -e 'puts Gem.user_dir')/bin"
$ gem env home
# => ~/.rbenv/versions/<ruby-version>/lib/ruby/gems/...
can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)