问题描述
我尝试使用 Nginx 和乘客部署 Rails 应用程序。 首先,我尝试使用 rbenv 来做到这一点。在很多问题之后,我尝试卸载 rbenv 并切换到 rvm。但是SHELL PATH还是有错误。 我该如何解决这个问题? 我查看了所有 .bashrc .bash_profile 或其他文件,并且没有任何名为 rbenv 的行。 我尝试了很多方法来拼命调试我的环境......
我的配置
公共云上的 Debian 10。 红宝石 2.7.2p137 Phusion 乘客 6.0.7
奇怪的事情,我的部署用户(sudoers):
out_lst2 <- expand_dat %>%
pmap(~ iris %>%
filter(Species %in% ..1) %>%
summarise(across(all_of(c(..2,..3)),normaliseData)))
names(out_lst2) <- expand_dat$Species
但是对于我的应用用户(不是 sudo)
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 3.1.4
- RUBY VERSION: 2.7.2 (2020-10-01 patchlevel 137) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/deploy/.rvm/gems/ruby-2.7.2
- USER INSTALLATION DIRECTORY: /home/deploy/.gem/ruby/2.7.0
- RUBY EXECUTABLE: /home/deploy/.rvm/rubies/ruby-2.7.2/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /home/deploy/.rvm/gems/ruby-2.7.2/bin
- SPEC CACHE DIRECTORY: /home/deploy/.gem/specs
- SYstem CONfigURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/deploy/.rvm/gems/ruby-2.7.2
- /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/gems/2.7.0
- GEM CONfigURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /home/deploy/.rvm/gems/ruby-2.7.2/bin
- /home/deploy/.rvm/gems/ruby-2.7.2@global/bin
- /home/deploy/.rvm/rubies/ruby-2.7.2/bin
- /home/deploy/.rbenv/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/local/games
- /usr/games
- /home/deploy/.rvm/bin
- /home/deploy/.rvm/bin
- /home/deploy/.gem/ruby/2.7.2/bin
- /home/deploy/.rvm/bin
- /home/deploy/.gem/ruby/2.7.2/bin
- /home/deploy/.rvm/bin
与我的应用用户
$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 3.1.4
- RUBY VERSION: 2.7.2 (2020-10-01 patchlevel 137) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/plannings_cinema/.rvm/gems/ruby-2.7.2
- USER INSTALLATION DIRECTORY: /home/plannings_cinema/.gem/ruby/2.7.0
- RUBY EXECUTABLE: /home/deploy/.rvm/rubies/ruby-2.7.2/bin/ruby
- GIT EXECUTABLE: /usr/bin/git
- EXECUTABLE DIRECTORY: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/bin
- SPEC CACHE DIRECTORY: /home/plannings_cinema/.gem/specs
- SYstem CONfigURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/plannings_cinema/.rvm/gems/ruby-2.7.2
- /home/plannings_cinema/.rvm/gems/ruby-2.7.2@global
- GEM CONfigURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /home/plannings_cinema/.rvm/gems/ruby-2.7.2/bin
- /home/plannings_cinema/.rvm/gems/ruby-2.7.2@global/bin
- /home/deploy/.rvm/rubies/ruby-2.7.2/bin
- /home/deploy/.rvm/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/local/games
- /usr/games
我已经尝试过 $ gem install rails
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /home/deploy/.rvm/gems/ruby-2.7.2 directory.
和 chown -R mydeployuser:rvm /home/deploy/.rvm
以及 chmod -R +w /home/deploy/.rvm
和 chown -R myappuser:rvm /home/appuser/.rvm
。两者都添加了组 rvm。
如果我使用我的应用程序用户 chmod -R +w /home/appuser/.rvm
passenger start papp -e production
好吧(或见鬼),这是一块弗兰肯斯坦红宝石。我可以解决这个问题,还是我最好回去重新安装? 因为我已经花了很多时间用 Nginx、certbot、openssl、dhparams、防火墙等配置服务器......
与我的应用用户尝试 $ passenger start -e production
=============== Phusion Passenger Standalone web server started ===============
PID file: /var/www/plannings_cinema/code/tmp/pids/passenger.3000.pid
Log file: /var/www/plannings_cinema/code/log/passenger.3000.log
Environment: production
Accessible via: http://0.0.0.0:3000/
You can stop Phusion Passenger Standalone by pressing Ctrl-C.
Problems? Check https://www.phusionpassenger.com/library/admin/standalone/troubleshooting/
===============================================================================
[ N 2020-12-22 18:30:17.2902 7930/T5 age/Cor/SecurityUpdateChecker.h:519 ]: Security update check: no update found (next check in 24 hours)
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:105: warning: already initialized constant FileUtils::VERSION
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:105: warning: prevIoUs deFinition of VERSION was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1284: warning: already initialized constant FileUtils::Entry_::S_IF_DOOR
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:1284: warning: prevIoUs deFinition of S_IF_DOOR was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1569: warning: already initialized constant FileUtils::Entry_::DIRECTORY_TERM
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:1577: warning: prevIoUs deFinition of DIRECTORY_TERM was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1627: warning: already initialized constant FileUtils::OPT_TABLE
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:1635: warning: prevIoUs deFinition of OPT_TABLE was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1686: warning: already initialized constant FileUtils::LOW_METHODS
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:1694: warning: prevIoUs deFinition of LOW_METHODS was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/fileutils.rb:1693: warning: already initialized constant FileUtils::METHODS
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/fileutils-1.5.0/lib/fileutils.rb:1701: warning: prevIoUs deFinition of METHODS was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/x86_64-linux/stringio.so: warning: already initialized constant StringIO::VERSION
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/x86_64-linux/strscan.so: warning: already initialized constant StringScanner::Version
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/x86_64-linux/strscan.so: warning: already initialized constant StringScanner::Id
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/forwardable/version.rb:3: warning: already initialized constant Forwardable::VERSION
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/forwardable-1.3.2/lib/forwardable.rb:115: warning: prevIoUs deFinition of VERSION was here
App 7967 output: /home/deploy/.rvm/rubies/ruby-2.7.2/lib/ruby/2.7.0/forwardable/version.rb:4: warning: already initialized constant Forwardable::FORWARDABLE_VERSION
App 7967 output: /home/plannings_cinema/.rvm/gems/ruby-2.7.2/gems/forwardable-1.3.2/lib/forwardable.rb:116: warning: prevIoUs deFinition of FORWARDABLE_VERSION was here
后的最后一个日志:
(使用 bootstrap 的 javascripts 这么久),但根本的是寻找不存在的 ruby 路径的不连贯性。在这一行:
到目前为止子进程的 stdout/stderr 输出是:
/bin/sh: 1: exec: /home/deploy/.rbenv/versions/2.7.2/bin/ruby: not found\n
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)