32

不久前我创建了一个 Rails 模型“模型”,现在我正在尝试运行服务器。之后bundle install我得到:

尝试写入 Gemfile.lock 时出错。您可能需要在路径中允许文件的写入权限:/home/thiago/model/Gemfile.lock

试图rails s看看会发生什么,并且:

/home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:235:in `rescue in lock':尝试写入 Gemfile.lock。很可能 (Bundler::InstallError)
您需要允许路径中文件的写入权限:
/home/thiago/model/Gemfile.lock
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:220:in `lock'
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/environment.rb:34:in `lock'
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/runtime.rb:43:in `setup'
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:79:in `setup'
  来自/home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:91:in `'
  来自 /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `require'
  来自/home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:110:in `rescue in require'
  来自 /home/thiago/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:35:in `require'
  来自 /home/thiago/.rvm/gems/ruby-1.9.3-p429/bin/ruby_noexec_wrapper:9:in `'

我可以设置 Gemfile.lock 的权限,以便我可以捆绑和运行服务器吗?

$ ls -a -l
共 80 个
drwxr-xr-x。13 根 4096 5 月 19 日 14:08。
drwx-----。41 蒂亚戈 蒂亚戈 4096 7 月 7 日 23:51..
drwxr-xr-x。8 根根 4096 5 月 19 日 14:08 应用
drwxr-xr-x。5 根根 4096 5 月 19 日 14:08 配置
-rw-r--r--。1 根 155 5 月 19 日 14:08 config.ru
drwxr-xr-x。2根根4096 5月19日14:08分贝
drwxr-xr-x。2 根根 4096 May 19 14:08 doc
-rw-r--r--。1 根 765 5 月 19 日 14:08 Gemfile
-rw-r--r--。1 根 430 5 月 19 日 14:08 .gitignore
drwxr-xr-x。4根根4096 5月19日14:08 lib
drwxr-xr-x。2根根4096 5月19日14:08日志
drwxr-xr-x。2根根4096 5月19日14:08公开
-rw-r--r--。1 根根 270 May 19 14:08 Rakefile
-rw-r--r--。1 根 9208 5 月 19 日 14:08 README.rdoc
drwxr-xr-x。2根根4096 5月19日14:08脚本
drwxr-xr-x。7根根4096 5月19日14:08测试
drwxr-xr-x。3 根根 4096 5 月 19 日 14:08 tmp
drwxr-xr-x。4 root root 4096 5月19日 14:08 供应商

模型文件创建不正确?

4

3 回答 3

73

您的应用程序根目录(其权限控制文件创建)和文件都归 root 而不是您的用户所有(可能是因为您这样做了-sudo rails new不要使用sudo它)。您可以通过执行以下操作更改权限:

sudo chown -R $(whoami):$(whoami) myappfolder

其中“myappfolder”是 Rails 应用程序的根目录。

顺便说一句,一个好的提示sudo是始终先尝试没有它的命令,然后,如果在运行时出现权限错误,您可能需要sudo. 不要默认使用sudo.

于 2013-07-08T11:58:20.057 回答
7

有时上面的答案:

sudo chown -R $(whoami):$(whoami) myappfolder

会给你错误:

chown: ifeegoo: illegal group name

你也可以试试这种命令:

sudo chown -R ifeegoo: /Users/ifeegoo/workspace/rails/Test
于 2018-06-30T08:11:03.120 回答
0

我有同样的问题,这就是我解决我的问题的方法。

如果您使用的是ZSH ,请转到

配置文件 -> 命令

并选中“以登录 shell 方式运行命令”并关闭终端。启动您的终端并启动bundle install命令。

于 2018-06-20T17:46:22.050 回答