質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

解決済

Shopify-CLIインストールでRubyのバージョンを変更したのに反映されない

creator.M
creator.M

総合スコア67

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

1回答

0評価

0クリップ

351閲覧

投稿2022/04/24 09:30

編集2022/04/26 22:13

色々調べる中で、sudoのパスに問題があると分かりました。
でも、こちらの記事に従って変更しても、反映されず困っています。
再起動もしましたが、駄目です。

パスは、通りました。

bash

$ which ruby /home/***/.rbenv/shims/ruby $ sudo nano /etc/sudoers Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" を下記に変更 1 Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/***/.rbenv/shims" sudo which ruby /usr/bin/ruby

でも、今も、sudoユーザーと一般ユーザーで、rubyのバージョンが違います。

bash

~$ sudo ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] ***@***:~$ ruby -v ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux]

rubyのバージョンは、3.1.2のみです。

bash

rbenv versions system * 3.1.2 (set by /home/***/.ruby-version)

Shopify-CLIをインストールしてバージョン確認をしたら、新しいバージョンがあるので更新するように表示がでました。

bash

shopify version 1.14.0

インストールを試みたら、エラーが出ました。

bash

ERROR: Error installing shopify-cli: shopify-cli-2.15.6 requires Ruby version >= 2.6. The current ruby version is 2.5.1.p57.

Rubyで2.6.10をインストールして、反映されたのを確認しました。

bash

ruby -v ruby 2.6.10p210 (2022-04-12 revision 67958) [x86_64-linux] rbenv versions system 2.6.0 * 2.6.10 (set by /home/***i/***/shopify_theme/.ruby-version) 3.1.2

ネットで検索していますが、いろいろ試しても改善されないです。

インストールしようとしているパッケージに、Rubyのバージョンを適用される方法を知りたいです。
ご教授いただけましたら、幸いです。
よろしくお願いします。

~/.bash_profile の内容

bash

export PATH="$HOME/.rbenv/shims:$PATH" eval "$(rbenv init -)" ~

which rubyで、確認しました。

bash

which ruby /home/***/.rbenv/shims/ruby

確認しました。

bash

$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash Checking for `rbenv' in PATH: multiple You seem to have multiple rbenv installs in the following locations. Please pick just one installation and remove the others. /home/***/.rbenv/bin/rbenv /usr/bin/rbenv Checking for rbenv shims in PATH: OK Checking `rbenv install' support: /home/***/.rbenv/plugins/ruby-build/bin/rbenv-install (ruby-build 20220415) Counting installed Ruby versions: 3 versions Checking RubyGems settings: OK Auditing installed plugins: OK sudo ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu]

確認しました、

bash

$ ls -al | grep .ruby -rw-r--r-- 1 root root 6 425 08:07 .ruby-version

sudoとユーザーで、パスが違うことが分かりました。

bash

***@***:~$ which ruby /home/***/.rbenv/shims/ruby ***@***:~$ sudo which ruby /usr/bin/ruby

sudoersを下記のように編集して再起動したのですが、反映されていないんか変化ないです。

bash

sudo nano /etc/sudoers Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/home/***/.rbenv/shims/"

下記の記事を基にしています。
https://tsumikiasobi.net/wordpress/archives/402

sudoを付けてインストールしても、usrにインストールされないです。

bash

sudo rbenv install 3.1.2 rbenv: /home/***/.rbenv/versions/3.1.2 already exists continue with installation? (y/N) y Downloading ruby-3.1.2.tar.gz...

なぜsudoのrubyのバージョンが上がらないのか、分かりました。
2.5.1は、ubuntuのリポジトリでインストールしたような気がするからです。
rbenv経由でインストールしたバージョンしかrbenvでは、表示できないと知りました。

インストールの方法が違うことが、今回の原因なのでしょうか?

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

creator.M

2022/04/24 09:38

すみません。 私の環境は、Ubuntu18.04LTSです。
CHERRY

2022/04/24 09:48

ruby は、どのようにインストールしていて、shopify は、どのようにインストールしようとしているのでしょうか
creator.M

2022/04/24 10:42

shopifyは、初回下記のコマンドで、行いました。 gem install shopify-cli バージョンアップは、 https://github.com/Shopify/shopify-cli/releases からshopify-cli-2.15.6.debをダウンロードしました。 そしてコマンドで、 sudo apt install /path/to/downloaded/shopify-cli-x.y.z.deb と入力しました。フルパスで指定しました。 今、回答を書きながらひらめいたので、 gem update shopify-cli と試しました。 でも、下記のメッセージが表示されました。 Updating installed gems Nothing to update Rubyは、下記の記事の順番で、行いました。 https://lab4ict.com/system/archives/2608 今、 curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash を実行したら、このエラーが出ました。 curl: (22) The requested URL returned error: 404
mather

2022/04/24 14:05

sudo ruby -v を実行してみてください。rbenvでインストールされたバージョンは表示されますか?
creator.M

2022/04/24 14:19

ありがとうございます。 今、確認しました。 sudo ruby -v [sudo] ***のパスワード: ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] と表示されました。 今回カスタマイズしたいテーマのディレクトリと、ルートともに、同じバージョンでした。
creator.M

2022/04/24 14:24

ということは、 sudo 付け忘れて、先に投稿した作業をしてしまったのが、原因でしょうか?
mather

2022/04/25 03:37

> 今回カスタマイズしたいテーマのディレクトリと、ルートともに、同じバージョンでした。 いえ、テーマのディレクトリでは ruby 2.6.10p210 をインストールしたはずなんですよね? rbenvでインストールしたRubyがrootユーザーでは有効になっていないので、shopify-cli-2.15.6 requires Ruby version >= 2.6 というエラーになってますよね。
creator.M

2022/04/25 05:48

なるほど。 ありがとうございます。 早速su - でrootに入りました。 そして、3.1.2をインストールしました。 最初は、2.5までしかリストに無かったので、アップデートしました。 root@***r:~# ruby --version ruby 3.1.2p20 (2022-04-12 revision 4491bb740a) [x86_64-linux] root@***r:~# sudo ruby --version ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux-gnu] この結果から、sudoユーザーに、2.5.1がインストールされているように見えますが、いかがでしょうか? rootにインストールしても、sudoをつけるとバージョンが古くなります。 最初私がubuntuにログインして、私の名前のユーザーで、Rubyのインストールしました。 shopify-cliのアップデートのため、ダウンロードのディレクリで、作業していました。
creator.M

2022/04/25 05:49

sudoユーザーにRubyをインストールするためには、どうしたらよいのでしょうか?
creator.M

2022/04/25 13:14

質問に加筆しましたが、パスの修正をしても改善されませんでした。
creator.M

2022/04/25 13:54

すみmせん。 rootのrubyのバージョンが、2.5.1でした。 本当に、すみません。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。