Git Product home page Git Product logo

vanilla-docker's Introduction

Vanilla Docker environment

Only supports Mac OSX at the moment but everything can be easily adapted to work on other platforms. Assume that you are using PhpStorm as your IDE.

This repository contains a ready-for-development environment to develop against Vanilla.

The containers

database

SQL database.

  • Accessible from the container with the hosts "database".
  • Accessible from the docker host machine with the hosts "database", "localhost", "127.0.0.1'
  • The user is "root" and there is no password.

httpd

Apache 2 web server.

nginx

nginx web server

php-fpm

php-fpm with PHP 7.4 and rsyslogd.

The php-fpm container comes in two flavours, standard and xdebug. The nginx container takes care of routing the request to the appropriate php-fpm flavour based on if your request needs debugging or not.

When XDebug is running things are much slower. As a result it recommended not pass an XDebug cookie (normally through a browser extension) unless you are actively debugging.

Setup

https://success.vanillaforums.com/kb/articles/155-local-setup-quickstart

Xdebug

See Make Xdebug work with PhpStorm.

Unit tests

See Make unit tests work within PhpStorm.

F.A.Q

Q. Why is everything so slow?

A. You are probably running on the APFS file system that became the standard with macOS High Sierra and which has pretty bad performance with Docker for Mac. Having the database on your host instead of inside docker might help a lot. See #10.

vanilla-docker's People

Contributors

alex-mtl avatar alexbrohman avatar cchabilall83 avatar charrondev avatar daazku avatar danni-stark avatar dbredman avatar evach-vf avatar gpomer avatar initvector avatar jreko avatar linc avatar maneeshchiba-hl avatar nervoustwit avatar olets avatar olivierlamycanuel avatar songzy12 avatar soorajfrancis avatar tburry avatar vanilla-dbarbier avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vanilla-docker's Issues

'/srv/vanilla-repositories/vanilla' is not a directory

Followed the READ.me. All fine up to and including step 12.
Then on step 13:

$ docker-compose up --build
....
Successfully tagged vanilla-docker_httpd:latest
Recreating database ... done
Recreating php-fpm ... done
Recreating nginx ... done
Recreating httpd ... done
Attaching to database, php-fpm, httpd, nginx
php-fpm | Updating certificates in /etc/ssl/certs...
httpd | AH00526: Syntax error on line 48 of /usr/local/apache2/conf/httpd.conf:
httpd | DocumentRoot '/srv/vanilla-repositories/vanilla' is not a directory, or is not readable
httpd exited with code 1

What am i missing?
What do I need to do in addition to the instructions?

SRE-Docker Compose for CRON job

We had a task to Create a docker file with ubuntu image

  1. Create a print.sh file which has code to print date and time
  2. Write a cron file named "hello-cron" which includes the print.sh to run for every 1 min.
  3. The docker image should have a CRON job to print date and time every 1 min

We created a print.sh file via vi command and in it given as

#!/bin/sh -l
time=$(date)
echo "::set-output name=time::$time"

After which we had executed -

chmod +x print.sh

then tried as -

* * * * * /home/scrapbook/tutorial

Not sure where we went wrong, please guide us.

Composer install not running, error 127

Hi! I am starting up a new localhost and using this repository. I got vanilla/vanilla, and when I did a composer install I would get this error

5 errors generated.
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/Users/simhranpatel/community/vanilla/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack at ChildProcess.emit (events.js:210:5)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:270:12)
gyp ERR! System Darwin 18.7.0
gyp ERR! command "/usr/local/Cellar/node/13.2.0/bin/node" "/Users/simhranpatel/community/vanilla/node_modules/.bin/node-gyp" "rebuild" "--release"
gyp ERR! cwd /Users/simhranpatel/community/vanilla/node_modules/fibers
gyp ERR! node -v v13.2.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: sudo apt-get install g++ build-essential
RHEL users please run: yum install gcc-c++ and yum groupinstall 'Development Tools'
Alpine users please run: sudo apk add python make g++
/bin/sh: nodejs: command not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

Reading it through I thought it meant I had an older version of node and yarn. I made sure they were up to date by running node -v, and yarn -v.

You think you guys can help me out?

trouble with initial setup

I'm having some trouble that might be related to what ports are available, but it also looks like part of the install (a composer command) might be buggy. I'd be happy for any help debugging. Thanks!

I followed the README, and when I first ran docker-compose up -build I got

…lots of install logs, every looks okay…
…just the occasional "can't be created because it already exists," then…
…
Build complete.
Don't forget to run 'make test'.

Installing shared extensions:     /usr/local/lib/php/extensions/no-debug-non-zts-20170718/
find . -name \*.gcno -o -name \*.gcda | xargs rm -f
find . -name \*.lo -o -name \*.o | xargs rm -f
find . -name \*.la -o -name \*.a | xargs rm -f
find . -name \*.so | xargs rm -f
find . -name .libs -a -type d|xargs rm -rf
rm -f libphp.la       modules/* libs/*
No releases available for package "pecl.php.net/xdebug"
install failed
ERROR: Service 'php-fpm' failed to build: The command '/bin/sh -c apt-get update     && apt-get install -y         libfreetype6-dev         libjpeg62-turbo-dev         libmcrypt-dev         libmemcached-dev         libpng-dev         sendmail     && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/     && docker-php-ext-install -j$(nproc) gd mbstring pdo pdo_mysql     && pecl install xdebug     && docker-php-ext-enable xdebug     && pecl install memcached     && docker-php-ext-enable memcached' returned a non-zero code: 1

I ran up -build again, and this time got

...(lots of logs)…
Successfully built 2dd0b7539b0e
Successfully tagged vanilla-docker_httpd:latest
Creating database ... done
Creating php-fpm  ... done
Creating httpd    ...
Creating nginx    ... error

Creating httpd    ... done
0e8d775dec16413cb75be67c8b20546c28c48): Error starting userland proxy: Bind for 0.0.0.0:443: unexpected error (Failure EADDRINUSE)

ERROR: for nginx  Cannot start service nginx: driver failed programming external connectivity on endpoint nginx (66a0298c058a2f938e5d9c26a200e8d775dec16413cb75be67c8b20546c28c48): Error starting userland proxy: Bind for 0.0.0.0:443: unexpected error (Failure EADDRINUSE)
ERROR: Encountered errors while bringing up the project.

I found 443:443 in docker-compose.yml, and tried changing it to 3001:3001, and ran docker-compose up --build:

…(fewer logs)…
Successfully built 36c53ee0a0c1
Successfully tagged vanilla-docker_nginx:latest
Creating database ... done
Creating php-fpm  ... done
Creating nginx    ... done
Creating httpd    ... done
Attaching to database, php-fpm, nginx, httpd
php-fpm     | Updating certificates in /etc/ssl/certs...
php-fpm     | 1 added, 0 removed; done.
php-fpm     | Running hooks in /etc/ca-certificates/update.d...
php-fpm     | done.

Great! Visited http://dev.vanilla.localhost/ and in the browser got

Could not find the autoloader. Did you forget to run 'composer install' in '/srv/vanilla-repositories/vanilla' ? 

I tried https://dev.vanilla.localhost:9443 and saw the same thing.

After a few tries at shutting down and starting up the docker, I finally reverted the port config back to use 443:443. Just for kicks, I tried starting up the docker again. This time I got that same good looking result, no EADDRINUSE error. But http://dev.vanilla.localhost/ still gives me the notice about composer install. And now https://dev.vanilla.localhost:9443 shows

Bad Request

Your browser sent a request that this server could not understand.
Reason: You're speaking plain HTTP to an SSL-enabled server port.
Instead use the HTTPS scheme to access this URL, please.

Move Vanilla build phase into its own container

It makes little sense to install all the required dependencies to build vanilla on the local machine.
Having that moved into its own container would have the following benefits:

  • Make vanilla-docker more portable
  • Ensure that the correct versions of Node/Yarn/Composer are used no matter what branch of vanilla-docker you are using

Database is wiped if you trash the container

I feel like this could be a potential issue if you want to actually keep your data.
docker-compose down and you've just lost everything.
Maybe we should bind the volume to the host and add a setup script that ask if we want to clear the data (with a fair warning)

Create a script to create/update docker-compose.yml from the template file

It would be sweet to have a script that takes docker-compose.yml.tpl and create a docker-compose.yml from it by replacing variables in it!

When creating the file for the first time we should save the input values and reuse them as default for a quick update!
It would also be real nice to have some way of making certain services optional!

  • Create a guide about the script
  • Creation
  • Update

Importing large porter files take too much time

I tried using vanilla-docker as my main migration setup, but I can't because of some performance issues. Even if the database is outside of docker, it takes a lot of time when I import large porter files via the import UI on infrastructure.

I think that the issue is due to the fact that the file we are trying to import is sitting outside of the docker container (inside ../vanilla/uploads/).

Fatal Error - Table 'forum_db.GDN_UserRole' doesn't exist

Hi there!

So I accidentally restarted me docker, and when I created the volume datastorage like it told me to do and when I go to my dev.localhost.com I get this error.

Screen Shot 2020-01-06 at 1 03 43 PM

Any idea on how to fix it, or is there somewhere that this was solved?

Thank you!

Create memcached service

Create a memcached service that works with the other services.

We need to add documentation about how to enable/disable the usage of memcached in vanilla.

Something like this in bootsteap.early.php:

if (c('Garden.Installed')) {
   // Cache
   saveToConfig('Cache.Enabled', false); # Just toggle this to true for testing with cache; usually it's a pain to leave on
   saveToConfig('Cache.Method', 'memcached');
   saveToConfig('Cache.Memcached.Store', array('localhost:11211'));

   if (c('Cache.Enabled') && class_exists('Memcached')) {
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_COMPRESSION, true, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_LIBKETAMA_COMPATIBLE, true, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_NO_BLOCK, true, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_TCP_NODELAY, true, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_CONNECT_TIMEOUT, 2000, false);
       saveToConfig('Cache.Memcached.Option.'.Memcached::OPT_SERVER_FAILURE_LIMIT, 2, false);
   }
}

Add log rotation

Logs can get quite big after a while. Would be nice if they were cleaned up after a while or when they become too big.

An easy (maybe not so clean) solution would be to create an overseer container which would rotate logs on startup (mount the log folder an truncate all .log files in there) and add a cron that would do the same thing every 24h. Logs older than a week would be deleted.

Composer & PHP versions?

I'm trying to follow the README on MacOS 11.2.2.

The default PHP version installed appears to be 7.3.4:

➜  php --version
WARNING: PHP is not recommended
PHP is included in macOS for compatibility with legacy software.
Future versions of macOS will not include PHP.
PHP 7.3.24-(to be removed in future macOS) (cli) (built: Dec 21 2020 21:33:25) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.3.24, Copyright (c) 1998-2018 Zend Technologies

When installing composer with Homebrew, it appears the latest version is 2.0.11 which appears to break some interfaces.

(base) ➜  vanilla git:(master) ✗ composer --version
Composer version 2.0.11 2021-02-24 14:57:23

Attempting to use these versions causes issues with step 11 in the README, namely that it appears the composer.json is not compatible with Composer 2.x:

(base) ➜  vanilla git:(master) ✗ composer install
The "metasyntactical/composer-plugin-license-check" plugin was skipped because it requires a Plugin API version ("^1.0") that does not match your Composer installation ("2.0.0"). You may need to run composer update with the "--no-plugins" option.
The "wikimedia/composer-merge-plugin" plugin was skipped because it requires a Plugin API version ("^1.0") that does not match your Composer installation ("2.0.0"). You may need to run composer update with the "--no-plugins" option.
> Vanilla\Setup\ComposerHelper::preUpdate
Installing dependencies from lock file (including require-dev)
Verifying lock file contents can be installed on current platform.
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - metasyntactical/composer-plugin-license-check is locked to version v0.5.0 and an update of this package was not requested.
    - metasyntactical/composer-plugin-license-check v0.5.0 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
  Problem 2
    - wikimedia/composer-merge-plugin is locked to version v1.4.1 and an update of this package was not requested.
    - wikimedia/composer-merge-plugin v1.4.1 requires composer-plugin-api ^1.0 -> found composer-plugin-api[2.0.0] but it does not match the constraint.
  Problem 3
    - vanilla/garden-jsont is locked to version v1.2 and an update of this package was not requested.
    - You can only install one version of a package, so only one of these can be installed: vanilla/garden-jsont[v1.2].

You are using Composer 2, which some of your plugins seem to be incompatible with. Make sure you update your plugins or report a plugin-issue to ask them to support Composer 2.

Attempting to work around this issue by running the latest Composer 1.x installed via php composer-setup.php --version 1.10.20 runs into this issue with default MacOS PHP:

(base) ➜  vanilla git:(master) ✗ /usr/bin/php composer.phar install
> Vanilla\Setup\ComposerHelper::preUpdate
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - The requested PHP extension ext-intl * is missing from your system. Install or enable PHP's intl extension.

I was able to resolve this issue by installing PHP7.4 via brew install [email protected] and brew link [email protected] and starting a new terminal to use the newer PHP:

php composer.phar install

This also fails, but pretty deep into the install process so I will fail a separate issue for the problem encountered.

Can specific versions of PHP & Composer be suggested in the README to avoid these issues?

Performance with large amount of databases is poor.

While a small performance loss is acceptable for the benefits of using a container, all my sites seemed to crawl to a halt once I imported a ~4GB of data across multiple databases in the datastorage volume (3-6 second response times). This is not an issue with using MySQL outside of Docker on MacOS 10.12.

I'm guessing the slowdown is could be partially alleviated by tuning the MySQL configuration a little bit, but is likely due to the way the datastorage volume is mounts the filesystem. I'm not really sure though.

Possible Solutions:

  • Improve the docker setup/tune MySQL.
  • Allow using the docker container, but with a native MySQL instance.

Make sphinx have a proper conf.d directory

Currently, the sphinx config muse be a single sphinx.conf within the conf.d directory. A single sphinx file is difficult to use, is not compatible with our standard sphinx templates, and is not the way a conf.d directory is supposed to be structured. The changes I would like to see are the following:

  1. A sphinx.conf outside of the conf.d directory that includes everything in the conf.d directory.
  2. Sphinx is configured to use the above sphinx.conf file.

yarn error on composer install

Hi,

When doing the initial "composer install" as dictated in the local installation directions, I get the following error after all of the "Installing" and suggestions:

Generating autoload files
> Vanilla\Setup\ComposerHelper::postUpdate

Installing core node_modules
Usage: yarn [options]

yarn: error: no such option: --pure-lockfile
Installing core node_modules failed

I am not sure what is causing this, I can't see anything in the composer.json that would be the cause. Help?

Upgrade to PHP 7.3

To ensure that our development environment can always fix issues with the latest version of PHP it would be great to see an upgrade to PHP 7.3 which has now been released.

Create an embedding setup

An embedding setup would make testing embeds locally a lot easier.

Ideally this would:

  • Offer an embed.vanilla.localhost site. This would offer an a frame with the main dev.vanilla.localhost inside of it using the normal embed.
  • Offer an advanced-embed.vanilla.localhost site. This would offer an a frame with the main dev.vanilla.localhost inside of it using the advanced embed.
  • SSO would still work on these embeds.

Setup a default Hub/Node

Creating a hub that can spawn nodes would be ideal.

Absolutely no idea of how big this project is.
This also require access to private repositories so we may be force to have a vanilla-docker-internal repo.

Initial docker setup

This repo is still a WIP.
This issue will just take care of many little things!

fails out of box

$ docker-compose up
WARNING: The IMGPROXY_KEY variable is not set. Defaulting to a blank string.
WARNING: The IMGPROXY_SALT variable is not set. Defaulting to a blank string.
WARNING: The IMGPROXY_SIGNATURE variable is not set. Defaulting to a blank string.
ERROR: The Compose file './docker-compose.yml' is invalid because:
Unsupported config option for services.database: 'platform'

Issues with new localhost

Hello! I got a new laptop at work, and I was setting up my new localhost, and I ran into some issues. I use docker to set up my localhost. I used home-brew to install composer, and node.
When I got our repository, and ran it everything went fine. Then I went inside Vanilla-docker and ran the sudo command, and then ran docker-compose up and I would get this
Screen Shot 2019-11-26 at 1 53 54 PM
Then I followed what it said about having creating the volume with vanilla data but once I did that I got this
Screen Shot 2019-11-26 at 1 48 43 PM
And when I checked my dev.localhost I would get this error message
Screen Shot 2019-11-26 at 2 01 44 PM
Do you guys know what is going on? Did I miss a step?
Thank you guys!

Get rid of the loopback hack

There's a new feature in docker!

https://docs.docker.com/docker-for-mac/networking/#i-want-to-connect-from-a-container-to-a-service-on-the-host

We can now reach the host IP easily with host.docker.internal which means that we could remove the custom loopback added in

# Loopback 192.0.2.1 to our host (much like 127.0.0.1)
# See https://en.wikipedia.org/wiki/Reserved_IP_addresses#IPv4
# Same as "ifconfig lo0 alias 192.0.2.1" but permanent
LOOPBACK_FILE="/Library/LaunchDaemons/com.runlevel1.lo0.192.0.2.1.plist"
if [ ! -f "$LOOPBACK_FILE" ]; then
cat > $LOOPBACK_FILE <<- EOM
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.runlevel1.lo0.192.0.2.1</string>
<key>RunAtLoad</key>
<true/>
<key>ProgramArguments</key>
<array>
<string>/sbin/ifconfig</string>
<string>lo0</string>
<string>alias</string>
<string>192.0.2.1</string>
</array>
<key>StandardErrorPath</key>
<string>/var/log/loopback-alias.log</string>
<key>StandardOutPath</key>
<string>/var/log/loopback-alias.log</string>
</dict>
</plist>
EOM
chmod 0644 "$LOOPBACK_FILE"
sudo chown root:wheel "$LOOPBACK_FILE"
sudo launchctl load "$LOOPBACK_FILE"
fi

Write documentation

Write documentation.

  • Explain how things work.
    • How everything is wired together.
    • What are the different images and what they do.
    • The configuration structure.
  • Create documentation on how to integrate docker in PHPStorm.

Cannot composer install

When attempting to execute php composer.phar install on MacOS 11.2.2 (20D80)/Homebrew PHP 8.0.3/Composer 1.10.20 installed via php composer-setup.php --version 1.10.20, I run into the following issue, which may be due to there no longer being binaries available for fsevents 1.2.9 which is deprecated, which appears to be a dependency of chodikar.

(base) ➜  vanilla git:(master) ✗ php composer.phar install
> Vanilla\Setup\ComposerHelper::preUpdate
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. It is recommended that you run `composer update` or `composer update <package name>`.
Nothing to install or update
Package container-interop/container-interop is abandoned, you should avoid using it. Use psr/container instead.
Package phpunit/php-token-stream is abandoned, you should avoid using it. No replacement was suggested.
Generating autoload files
composer/package-versions-deprecated: Generating version class...
composer/package-versions-deprecated: ...done generating version class
27 packages you are using are looking for funding.
Use the `composer fund` command to find out more!
> Vanilla\Setup\ComposerHelper::postUpdate
 
Installing core node_modules
yarn install v1.22.10
[1/4] Resolving packages...
[2/4] Fetching packages...
[3/4] Linking dependencies...
warning " > [email protected]" has incorrect peer dependency "react@^15.0.1".
warning " > [email protected]" has incorrect peer dependency "react-dom@^15.0.1".
warning " > @storybook/[email protected]" has unmet peer dependency "react-is@^16.8.0".
warning "@storybook/addon-essentials > @storybook/[email protected]" has unmet peer dependency "react-is@^16.8.0".
warning "@storybook/addon-essentials > @storybook/addon-docs > @mdx-js/[email protected]" has incorrect peer dependency "react@^16.13.1".
warning "@vanilla/eslint-config > [email protected]" has incorrect peer dependency "[email protected] - 6.x".
warning "@vanilla/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3 || ^4 || ^5 || ^6".
warning "@vanilla/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0".
warning "@vanilla/eslint-config > [email protected]" has incorrect peer dependency "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0".
warning " > [email protected]" has incorrect peer dependency "eslint@^4.0.0 || ^5.0.0 || ^6.0.0".
warning " > [email protected]" has incorrect peer dependency "prettier@^1.0.0".
[4/4] Building fresh packages...
warning Error running install script for optional dependency: "/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents: Command failed.
Exit code: 1
Command: node install
Arguments:
Directory: /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using [email protected]
node-pre-gyp info using [email protected] | darwin | x64
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp info check checked for \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64/fse.node\" (not found)
node-pre-gyp http GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.9/fse-v1.2.9-node-v88-darwin-x64.tar.gz
node-pre-gyp http 404 https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.9/fse-v1.2.9-node-v88-darwin-x64.tar.gz
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.9/fse-v1.2.9-node-v88-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v88 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.9/fse-v1.2.9-node-v88-darwin-x64.tar.gz
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info ok
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info find Python using Python version 3.8.5 found at \"/Users/akgerber/Code/miniconda3/bin/python\"
gyp info spawn /Users/akgerber/Code/miniconda3/bin/python
gyp info spawn args [
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/akgerber/Library/Caches/node-gyp/15.11.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/akgerber/Library/Caches/node-gyp/15.11.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
Traceback (most recent call last):
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/gyp_main.py\", line 50, in <module>
    sys.exit(gyp.script_main())
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/__init__.py\", line 554, in script_main
    return main(sys.argv[1:])
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/__init__.py\", line 547, in main
    return gyp_main(args)
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/__init__.py\", line 532, in gyp_main
    generator.GenerateOutput(flat_list, targets, data, params)
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py\", line 2214, in GenerateOutput
    writer.Write(qualified_target, base_path, output_file, spec, configs,
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py\", line 802, in Write
    self.WriteCopies(spec['copies'], extra_outputs, part_of_all)
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py\", line 1145, in WriteCopies
    env = self.GetSortedXcodeEnv()
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/generator/make.py\", line 1882, in GetSortedXcodeEnv
    return gyp.xcode_emulation.GetSortedXcodeEnv(
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py\", line 1615, in GetSortedXcodeEnv
    env = _GetXcodeEnv(xcode_settings, built_products_dir, srcroot, configuration,
  File \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/pylib/gyp/xcode_emulation.py\", line 1527, in _GetXcodeEnv
    if XcodeVersion() >= '0500' and not env.get('SDKROOT'):
TypeError: '>=' not supported between instances of 'tuple' and 'str'
gyp ERR! configure error
gyp ERR! stack Error: `gyp` failed with exit code: 1
gyp ERR! stack     at ChildProcess.onCpExit (/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/lib/configure.js:351:16)
gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Darwin 20.3.0
gyp ERR! command \"/usr/local/Cellar/node/15.11.0/bin/node\" \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/bin/node-gyp.js\" \"configure\" \"--fallback-to-build\" \"--module=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64/fse.node\" \"--module_name=fse\" \"--module_path=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64\" \"--napi_version=7\" \"--node_abi_napi=napi\" \"--napi_build_version=0\" \"--node_napi_label=node-v88\"
gyp ERR! cwd /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents
gyp ERR! node -v v15.11.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/Cellar/node/15.11.0/bin/node /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64/fse.node --module_name=fse --module_path=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v88' (1)
node-pre-gyp ERR! stack     at ChildProcess.<anonymous> (/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
node-pre-gyp ERR! stack     at maybeClose (node:internal/child_process:1067:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:301:5)
node-pre-gyp ERR! System Darwin 20.3.0
node-pre-gyp ERR! command \"/usr/local/Cellar/node/15.11.0/bin/node\" \"/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp\" \"install\" \"--fallback-to-build\"
node-pre-gyp ERR! cwd /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents
node-pre-gyp ERR! node -v v15.11.0
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/Cellar/node/15.11.0/bin/node /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64/fse.node --module_name=fse --module_path=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/chokidar/node_modules/fsevents/lib/binding/Release/node-v88-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v88' (1)"
info This module is OPTIONAL, you can safely ignore this error
error /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/fibers: Command failed.
Exit code: 127
Command: node build.js || nodejs build.js
Arguments:
Directory: /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/fibers
Output:
gyp info it worked if it ends with ok
gyp info using [email protected]
gyp info using [email protected] | darwin | x64
gyp info find Python using Python version 3.8.5 found at "/Users/akgerber/Code/miniconda3/bin/python"
gyp info spawn /Users/akgerber/Code/miniconda3/bin/python
gyp info spawn args [
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/fibers/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/akgerber/Library/Caches/node-gyp/15.11.0',
gyp info spawn args   '-Dnode_gyp_dir=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/akgerber/Library/Caches/node-gyp/15.11.0/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/fibers',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
gyp info spawn make
gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  CXX(target) Release/obj.target/fibers/src/fibers.o
../src/fibers.cc:899:12: error: no matching member function for call to 'Set'
                        target->Set(sym_yield, yield);
                        ~~~~~~~~^~~
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/fibers.cc:903:8: error: no matching member function for call to 'Set'
                        fn->Set(sym_yield, yield);
                        ~~~~^~~
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/fibers.cc:909:12: error: no matching member function for call to 'Set'
                        target->Set(uni::NewLatin1Symbol(isolate, "Fiber"), fn);
                        ~~~~~~~~^~~
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3716:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context,
                                    ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3719:37: note: candidate function not viable: requires 3 arguments, but 2 were provided
  V8_WARN_UNUSED_RESULT Maybe<bool> Set(Local<Context> context, uint32_t index,
                                    ^
../src/fibers.cc:927:27: error: no matching member function for call to 'Get'
        if (did_init || !target->Get(uni::NewLatin1Symbol(isolate, "Fiber"))->IsUndefined()) {
                         ~~~~~~~~^~~
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3763:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:3766:43: note: candidate function not viable: requires 2 arguments, but 1 was provided
  V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
                                          ^
../src/fibers.cc:206:25: error: no matching member function for call to 'Set'
                info.GetReturnValue().Set(handle);
                ~~~~~~~~~~~~~~~~~~~~~~^~~
../src/fibers.cc:838:17: note: in instantiation of function template specialization 'uni::Return<v8::Object>' requested here
                                return uni::Return(current->handle, info);
                                            ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4272:18: note: candidate function not viable: no known conversion from 'Persistent<v8::Object>' to 'bool' for 1st argument
  V8_INLINE void Set(bool value);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4273:18: note: candidate function not viable: no known conversion from 'Persistent<v8::Object>' to 'double' for 1st argument
  V8_INLINE void Set(double i);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4274:18: note: candidate function not viable: no known conversion from 'Persistent<v8::Object>' to 'int32_t' (aka 'int') for 1st argument
  V8_INLINE void Set(int32_t i);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4275:18: note: candidate function not viable: no known conversion from 'Persistent<v8::Object>' to 'uint32_t' (aka 'unsigned int') for 1st argument
  V8_INLINE void Set(uint32_t i);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4266:18: note: candidate template ignored: could not match 'Global' against 'Persistent'
  V8_INLINE void Set(const Global<S>& handle);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4268:18: note: candidate template ignored: could not match 'TracedReferenceBase' against 'Persistent'
  V8_INLINE void Set(const TracedReferenceBase<S>& handle);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4270:18: note: candidate template ignored: could not match 'Local' against 'Persistent'
  V8_INLINE void Set(const Local<S> handle);
                 ^
/Users/akgerber/Library/Caches/node-gyp/15.11.0/include/node/v8.h:4285:18: note: candidate template ignored: could not match 'S *' against 'Persistent<v8::Object>'
  V8_INLINE void Set(S* whatever);
                 ^
5 errors generated.
make: *** [Release/obj.target/fibers/src/fibers.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: `make` failed with exit code: 2
gyp ERR! stack     at ChildProcess.onExit (/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/node-gyp/lib/build.js:194:23)
gyp ERR! stack     at ChildProcess.emit (node:events:378:20)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
gyp ERR! System Darwin 20.3.0
gyp ERR! command "/usr/local/Cellar/node/15.11.0/bin/node" "/Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/.bin/node-gyp" "rebuild" "--release"
gyp ERR! cwd /Users/akgerber/Code/vanilla-fixedgr/vanilla/node_modules/fibers
gyp ERR! node -v v15.11.0
gyp ERR! node-gyp -v v5.0.5
gyp ERR! not ok
node-gyp exited with code: 1
Please make sure you are using a supported platform and node version. If you
would like to compile fibers on this machine please make sure you have setup your
build environment--
Windows + OS X instructions here: https://github.com/nodejs/node-gyp
Ubuntu users please run: `sudo apt-get install g++ build-essential`
RHEL users please run: `yum install gcc-c++` and `yum groupinstall 'Development Tools'`
Alpine users please run: `sudo apk add python make g++`
/bin/sh: nodejs: command not found
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
 
Gererating Vendor Licenses for build
Installing core node_modules failed

Windows Setup

I see there is a mac-setup.sh script to set it up for a mac.

Any chance to get a windows based version of this script

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.