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
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/definition.rb:220:in `lock'
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/environment.rb:34:in `lock'
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler/runtime.rb:43:in `setup'
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429/gems/bundler-1.3.5/lib/bundler.rb:120:in `setup'
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:79: in `setup'
  from /home/thiago/.rvm/gems/ruby-1.9.3-p429@global/gems/rubygems-bundler-1.1.1/lib/rubygems-bundler/noexec.rb:91:in `'
  from /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'
  from /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 inrequire'
  from /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'
  from /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 thiago チアゴ 4096 7 月 7 日 23:51 ..
drwxr-xr-x. 8 root root 4096 5月19日 14時08分 アプリ
drwxr-xr-x. 5 root root 4096 5 月 19 日 14:08 設定
-rw-r--r--. 1 ルート ルート 155 5 月 19 日 14:08 config.ru
drwxr-xr-x. 2 root root 4096 5 月 19 日 14:08 db
drwxr-xr-x. 2 root root 4096 5 月 19 日 14:08 doc
-rw-r--r--. 1 root root 765 5月19日 14:08 Gemfile
-rw-r--r--. 1 root root 430 5 月 19 日 14:08 .gitignore
drwxr-xr-x. 4 root root 4096 5 月 19 日 14:08 lib
drwxr-xr-x. 2 root root 4096 5月19日 14時08分ログ
drwxr-xr-x. 2 root root 4096 5月19日 14時08分公開
-rw-r--r--. 1 root root 270 5 月 19 日 14:08 Rakefile
-rw-r--r--. 1 root root 9208 5 月 19 日 14:08 README.rdoc
drwxr-xr-x. 2 root root 4096 5 月 19 日 14:08 スクリプト
drwxr-xr-x. 7 root root 4096 5月19日 14時08分 テスト
drwxr-xr-x. 3 root root 4096 5月19日 14時08分 tmp
drwxr-xr-x. 4 root root 4096 5月19日 14:08 ベンダー

モデルファイルが正しく作成されていませんか?

4

3 に答える 3

73

アプリのルート ディレクトリ (ファイルの作成を制御する権限) とファイルはすべて、ユーザーではなくルートによって所有されます (おそらく、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 に答える