E: Package パッケージ名 has no installation candidate
実際のエラー
E: Package 'libssl1.0-dev' has no installation candidate ERROR: Service 'app' failed to build: The command '/bin/sh -c apt-get update && apt-get install -y sudo && apt-get install -y vim less && apt-get install -y build-essential libpq-dev libssl1.0-dev && gem install bundler && apt-get clean && rm -r /var/lib/apt/lists/*' returned a non-zero code: 100
修正前のソースコード
Dockerfile
RUN curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - && \ apt-get install build-essential nodejs-dev node-gyp libssl1.0-dev && \ apt-get install -y nodejs npm
修正後のソースコード
Dockerfile
RUN curl -sL https://deb.nodesource.com/setup_current.x | sudo -E bash - && \ sudo apt-get install -y nodejs
考察
sudo付ければいけたのでは?
そもそも libssl1.0-dev
がいらないのでは?
また、そのパッケージのURL等がそろってない?
実際のエラー
ERROR: Service 'app' failed to build: COPY failed: stat /var/lib/docker/tmp/docker-builder424722448/database.yml: no such file or directory
修正前のソースコード
アプリルートに database.rb
がなかった
修正後のソースコード
以下のファイルを作成
database.rb
default: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> database: <%= ENV['APP_DATABASE'] %> username: <%= ENV['APP_DATABASE_USER'] %> password: <%= ENV['APP_DATABASE_PASSWORD'] %> development: <<: *default host: mysql test: <<: *default host: mysql production: <<: *default host: mysql
実際のエラー
/usr/local/bundle/gems/bootsnap-1.4.8/lib/bootsnap/load_path_cache/store.rb:83:in `binwrite': Permission denied @ rb_sysopen - /usr/local/src/tmp/cache/bootsnap-load-path-cache.10809.77364.tmp (Errno::EACCES)
修正前のソースコード
Dockerfile上での同期コマンド
COPY . $WORKSPACE
修正後のソースコード
上記をとる
実際のエラー
ERROR: Failed to remove image for service app: 409 Client Error: Conflict ("b'conflict: unable to remove repository reference "my/rails" (must force) - container 9049c1cdd125 is using its referenced image eb61c32b1392'")
修正前のソースコード
コマンドなので特になし
修正後のソースコード
docker images rm eb61c32b1392
自分でも何言ってるかわからない
実際のエラー
Can't initialize a new Rails application within the directory of another, please change to a non-Rails directory first. Type 'rails' for help. ERROR: Service 'app' failed to build: The command '/bin/sh -c bundle install && bundle exec rails new . --force --database=mysql && { echo "gem 'therubyracer', platforms: :ruby"; } >> $WORKSPACE/Gemfile && bundle update' returned a non-zero code: 1
修正前のソースコード
Dockerfile
COPY --chown=dev:dev Gemfile $WORKSPACE/Gemfile RUN bundle install && \ bundle exec rails new . --force --database=mysql && \ { \ echo "gem 'therubyracer', platforms: :ruby"; \ } >> $WORKSPACE/Gemfile && \ bundle update COPY --chown=dev:dev database.yml $WORKSPACE/config/database.yml
修正後のソースコード
Dockerfile
ADD Gemfile /myproject/Gemfile ADD Gemfile.lock /myproject/Gemfile.lock RUN gem install bundler RUN bundle install
実際のエラー
rails aborted! Mysql2::Error::ConnectionError: Unknown MySQL server host 'mysql' (-2)
修正前
docker run app rails db:migrate
修正後
docker-compose run app rails db:migrate
Macのローカルディレクトリの権限変更
やったこと
sudo chown -R $(whoami) /usr/local/bin
MacのローカルのMySQLの関連ディレクトリの削除
# コミュニティエディションを削除 rm -rf ~/Library/PreferencePanes/My* sudo rm /usr/local/mysql sudo rm -rf /usr/local/mysql* sudo rm -rf /Library/StartupItems/MySQLCOM sudo rm -rf /Library/PreferencePanes/My* sudo rm -rf /Library/Receipts/mysql* sudo rm -rf /Library/Receipts/MySQL* sudo rm -rf /private/var/db/receipts/*mysql* sudo rm /Library/LaunchDaemons/com.oracle.oss.mysql.mysqld.plist
$ brew uninstall mysql # 以前の不要なファイルも作する sudo rm -rf /usr/local/Cellar/mysql* sudo rm -rf /usr/local/bin/mysql* sudo rm -rf /usr/local/var/mysql* sudo rm -rf /usr/local/etc/my.cnf sudo rm -rf /usr/local/share/mysql* sudo rm -rf /usr/local/opt/mysql* sudo rm -rf /etc/my.cnf
以下のコマンドを実行するとエラー。
.\build.ps1 isucon9-qualify .\isucon9-qualify
E: Release file for http://archive.ubuntu.com/ubuntu/dists/bionic-backports/InRelease is not valid yet (invalid for another 2d 0h 45min 22s). Updates for this repository will not be applied.
どうやらWSL2側のみ時間がずれている。
以下で対応する。
sudo apt install ntpdate sudo ntpdate -sb time.nist.gov
WSL2のディストリでdockerコマンドが使えない
以下の項目をトグルONにする