Ошибка: сбой команды с кодом выхода 23: установка пакета

Я новичок в развитии Shopfy. Я следую инструкции по настройке темы shopify - https://shopify.dev/docs/themes/getting-started/customize

Когда я запускаю shopify theme dev, в терминале возникает ошибка.

osama@debian:~/works/shopify-dev/OsamaTheme$ shopify theme dev
Error: Command failed with exit code 23: bundle install
There was an error while trying to write to `/usr/lib/node_modules/@shopify/theme/node_modules/@shopify/cli-kit/assets/cli-ruby/Gemfile.lock`. It is likely that you need
to grant write permissions for that path.
Fetching gem metadata from https://rubygems.org/..........
Resolving dependencies...
Using rake 12.3.3

Когда я запускаю shopify theme dev, он должен открыть режим предварительного просмотра.

Детали моей среды-

THEME CONFIGURATION                
Store                  <STORE_NAME>.myshopify.com
Development Theme ID   #1.........8

TOOLING AND SYSTEM                 
Shopify CLI    3.44.1
OS             linux-amd64
Shell          /bin/bash
Node version   v19.8.1
Ruby version   3.0.0

🤔 А знаете ли вы, что...
Ruby обеспечивает простую интеграцию с другими языками, такими как C и Python.


176
2

Ответы:

Решено

попробуйте с помощью sudo или измените разрешение с помощью sudo chown -R. У меня была похожая проблема, и я использую систему Debian — sudo помогло sudo shopify theme dev --store


У меня тоже была эта проблема, и, прочитав Документы по устранению неполадок Bundler, я обнаружил, что проблема заключалась в том, что у меня были установлены некоторые версии Bundler из Gems как у обычного пользователя. Надеюсь (я не проверял перед решением), bundle install использовал один из них.

# This doesn't tell whether each package is installed as root or regular user
gem list bundler
bundler (2.4.10, 2.4.7, 2.3.26, 2.3.5, default: 2.2.22)

dpkg -l bundler
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Nome           Versão       Arquitectura Descrição
+++-==============-============-============-====================================
ii  bundler        2.3.5-2      all          Manage Ruby application dependencies

Мое решение состояло в том, чтобы удалить все драгоценные камни Bundler, оставив только одну ОС.

sudo gem uninstall bundler
Select gem to uninstall:
 ...
 4. All versions
> 4

После этого запуск bundle install запросил мой пароль и успешно установил все драгоценные камни через sudo:

bundle install
Your user account isn't allowed to install to the system RubyGems.
  ...enter your password and install the bundled gems to RubyGems using sudo.
  Password:       
...
Bundle complete! 13 Gemfile dependencies, 173 gems now installed.

Не запускайте Bundler с sudo

Bundler выполняет некоторые действия как root, а некоторые другие как обычный пользователь. Он запрашивает ваш пароль sudoer (если вы sudoer) для запуска действий root от имени root. Если вы делаете sudo bundle install, он делает все действия от имени пользователя root, включая сетевые. Это очевидная уязвимость. Кроме того, он создает файлы, принадлежащие root, там, где их быть не должно, что лишает вас возможности выполнять дальнейшие действия в качестве обычного пользователя. Так что следуйте совету из man-страницы Bundler: «Вы никогда не должны использовать установку пакета sudo».

Не изменять разрешения системного каталога

Они там по причине. Открытие их означает создание уязвимых мест, которые никому не нужны. Так что лучше оставить их как есть и решать точечные вопросы там, где они есть.