2017-02-20 3 views
0

Der Paket-Manager in OpenBSD hat eine gute Namenskonvention, daher ist es nicht notwendig, RVM oder RBENV als Ruby-Manager einzubauen. Ich habe die Dokumente gelesen und es scheint, als ob Capistrano RBENV oder RVM installieren muss.Bereitstellung auf OpenBSD ohne Ruby Manager (RBENV/RVM)

Ist es möglich, das System Ruby Edelsteine ​​mit Capistrano zu verwenden?

Ich möchte es einfach halten und den OpenBSD-Paket-Manager verwenden, aber wenn ein Ruby-Manager benötigt wird, dann würde ich RBENV verwenden. OpenBSD verwendet die Shell zsh, daher kann das RBENV-Skript selbst durch die Installation von RBENV nicht ausgeführt werden, da es auf Bash basiert.

Wie kann ich RBENV mit zsh/OpenBSD kompatibel machen, wenn?

Antwort

1

Persönlich ist es ein zweischneidiges Schwert.

Sie brauchen nicht RVM oder Rbenv, in der Tat benötigt capistrano an extra gem for RVMor this one for rbenv.

Aber zur gleichen Zeit, wenn Sie Ruby von Ihrem SO-Paket-Manager verwenden, brauchen Sie am Ende sudo für die Installation von Edelsteinen, die nicht ideal ist und ein Sicherheitsrisiko darstellen könnte. Überprüfen Sie die Authorisation docs für weitere Informationen darüber.

Ich würde entweder RVM oder Rbenv verwenden, um eine sichere Umgebung zu haben.

Über rbenv und zsh, es funktioniert mit zsh, aber es muss möglicherweise das bash-Paket installiert werden. Um rbenv zu verwenden, brauchen Sie nur das init-Skript, das in Ihrem .zshrc ausgeführt wird, um es zu verwenden. Ich habe persönlich in der Vergangenheit rbenv mit zsh benutzt.

0

Capistrano erfordert keine rbenv oder rvm.

Die capistrano-rvm/rbenv-Edelsteine ​​existieren nur, um einer Capistrano-Bereitstellung zu ermöglichen, in einer solchen Umgebung zu arbeiten. Wenn sie nicht verwendet wird, verwendet die Implementierung das Standardsystem Ruby, das anscheinend Ihren Anforderungen entspricht.

Der einzige Nachteil ist, dass Sie wahrscheinlich Bundler systemweit installieren müssen. Möglicherweise finden Sie dies in Ihrem Paketverwaltungssystem oder müssen sudo gem install bundler ausführen.

Sobald der Bundler installiert ist, führt Capistrano Bundler mit den Flags --deployment und --path aus, um alle verbleibenden Gems in einem Ordner zu installieren, der für Ihre Bereitstellung lokal ist. Dies ist, um das von Pedro erwähnte Sudo-Problem zu vermeiden.

Verwandte Themen