Как дать сценарий Ruby, выполняемый через консоль Rails, разрешения на запись в Digital Ocean? - PullRequest
0 голосов
/ 23 апреля 2019

Я развертываю свое приложение Rails в Digital Ocean.

Мне нужно запустить собственный скрипт ruby ​​через консоль Rails (или даже в очереди заданий), а в некоторых случаях я хочу, чтобы он создал файли сохраните его в моем каталоге config.

В частности, вот как выглядит установка:

Money.default_bank = MoneyOXR::Bank.new(
  app_id: ENV["APP_ID"],
  cache_path: 'config/oxr.json',
  max_age: 86400
)

Итак, что должно произойти, так это то, что при каждом запуске необходимо создатьconfig/oxr.json.

Однако, когда я запускаю его, вот что происходит:

Errno::EACCES: Permission denied @ rb_sysopen - config/oxr.json

Сейчас я просто запускаю его как MyScript.run в командной строке в консоли Rails.

Как мне это сделать?

1 Ответ

1 голос
/ 23 апреля 2019

Вам необходимо предоставить необходимые разрешения для папки create/write файла.Это можно сделать следующим образом:

chmod -R g + w app_path / config

Это дает разрешение на запись в папку app config.

Если вы хотите дать разрешения определенному пользователю, то:

=> w || who; #list all of the currently logged in users
=> chgrp -R user_name app_path/config
=> chmod -R g+w app_path/config

Под редакцией OP

Что такжеРаботы есть: sudo chmod 777 oxr.json

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...