简体   繁体   English

Ruby on Rails捆绑命令不起作用

[英]Ruby on Rails bundle command not working

All of a sudden I'm no longer able to run the bundle command in my project. 突然之间,我不再能够在我的项目中运行bundle命令了。 I'm using Ubuntu for development and was following a tutorial on how to deploy to Azure. 我正在使用Ubuntu进行开发,并且正在学习如何部署到Azure的教程。

When I cd to my project directory and runn bundle I get the following message:- 当我cd到我的项目目录和runn bundle时,我得到以下消息: -

Unfortunately, a fatal error has occurred. Please see the Bundler
troubleshooting documentation at http://bit.ly/bundler-issues. Thanks!
/usr/lib/ruby/2.1.0/fileutils.rb:250:in `mkdir': Permission denied @ dir_s_mkdir - /var/lib/gems/2.1.0/extensions/x86-linux/2.1.0/kgio-2.9.2 (Errno::EACCES)
    from /usr/lib/ruby/2.1.0/fileutils.rb:250:in `fu_mkdir'
    from /usr/lib/ruby/2.1.0/fileutils.rb:224:in `block (2 levels) in mkdir_p'
    from /usr/lib/ruby/2.1.0/fileutils.rb:222:in `reverse_each'
    from /usr/lib/ruby/2.1.0/fileutils.rb:222:in `block in mkdir_p'
    from /usr/lib/ruby/2.1.0/fileutils.rb:208:in `each'
    from /usr/lib/ruby/2.1.0/fileutils.rb:208:in `mkdir_p'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:210:in `write_gem_make_out'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:132:in `build_error'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:171:in `rescue in build_extension'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:156:in `build_extension'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:198:in `block in build_extensions'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `each'
    from /usr/lib/ruby/2.1.0/rubygems/ext/builder.rb:195:in `build_extensions'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:1436:in `block in build_extensions'
    from /usr/lib/ruby/2.1.0/rubygems/user_interaction.rb:45:in `use_ui'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:1434:in `build_extensions'
    from /usr/lib/ruby/2.1.0/rubygems/stub_specification.rb:60:in `build_extensions'
    from /usr/lib/ruby/2.1.0/rubygems/basic_specification.rb:56:in `contains_requirable_file?'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:925:in `block in find_inactive_by_path'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:924:in `each'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:924:in `find'
    from /usr/lib/ruby/2.1.0/rubygems/specification.rb:924:in `find_inactive_by_path'
    from /usr/lib/ruby/2.1.0/rubygems.rb:185:in `try_activate'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:132:in `rescue in require'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:144:in `require'
    from /usr/lib/ruby/vendor_ruby/net/http/persistent.rb:12:in `<top (required)>'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/bundler/vendored_persistent.rb:7:in `<top (required)>'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb:55:in `require'
    from /usr/lib/ruby/vendor_ruby/bundler/fetcher.rb:1:in `<top (required)>'
    from /usr/lib/ruby/vendor_ruby/bundler/cli.rb:239:in `install'
    from /usr/lib/ruby/vendor_ruby/thor/command.rb:27:in `run'
    from /usr/lib/ruby/vendor_ruby/thor/invocation.rb:121:in `invoke_command'
    from /usr/lib/ruby/vendor_ruby/thor.rb:363:in `dispatch'
    from /usr/lib/ruby/vendor_ruby/thor/base.rb:440:in `start'
    from /usr/bin/bundle:20:in `block in <main>'
    from /usr/lib/ruby/vendor_ruby/bundler/friendly_errors.rb:3:in `with_friendly_errors'
    from /usr/bin/bundle:20:in `<main>'

I'm in way over my head. 我在我头上。 Has anyone any idea what I've done to break it or how I can fix it 有谁知道我做了什么来打破它或我如何解决它

As you can see from the stack trace, 从堆栈跟踪可以看出,

/usr/lib/ruby/2.1.0/fileutils.rb:250:in `mkdir': 
  Permission denied @ dir_s_mkdir - 
  /var/lib/gems/2.1.0/extensions/x86-linux/2.1.0/kgio-2.9.2 (Errno::EACCES)
    ...
    from /usr/lib/ruby/2.1.0/fileutils.rb:208:in `mkdir_p'
    ...

bundler is trying to create the directory: /var/lib/gems/2.1.0/extensions/x86-linux/2.1.0/kgio-2.9.2 . bundler正在尝试创建目录: /var/lib/gems/2.1.0/extensions/x86-linux/2.1.0/kgio-2.9.2 It is using the equivalent of mkdir -p , which will "create intermediate directories as required." 它使用等效的mkdir -p ,它将“根据需要创建中间目录”。 (see man mkdir ). (见man mkdir )。 So, you need permission to create that directory. 因此,您需要创建该目录的权限。

If you're not familiar with unix permissions, you'll have to do some reading, eg https://en.wikipedia.org/wiki/File_system_permissions#Traditional_Unix_permissions 如果您不熟悉unix权限,则必须进行一些阅读,例如https://en.wikipedia.org/wiki/File_system_permissions#Traditional_Unix_permissions

Some tools that will be useful include cd, ls -l, chown, and chmod. 一些有用的工具包括cd,ls -l,chown和chmod。 Don't use them until you've read their manuals, especially chown and chmod. 在阅读他们的手册之前不要使用它们,尤其是chown和chmod。

只需删除应用程序路径中的.bundle目录即可

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM