Docker build Errors - dockerfile

I'm attempting to run a build of an image on my M1 MacBook. The first attempt built fine, but when pushed to the remote machine I got an exec error. I then modified by Dockerfile in the same way I did last week, specifying the architecture.
# get node distro - should be consistent across environments
FROM --platform=linux/amd64 node:16.3-alpine
# copy package.json etc FIRST. any changes here invalidate cache for rest of file
# see https://docs.semaphoreci.com/article/81-docker-layer-caching
COPY package.json package-lock.json app/
# create home dir, where the app will be run
WORKDIR /app
# install our dependencies, for now we want to install ALL deps, including dev ones
# put before COPY, any changes in the cwd will invalidate the cache for this layer
RUN npm ci --platform=linux --progress=false
# below this point we don't need to worry about the cache
# copy everything not in .dockerignore to /app
COPY . $WORKDIR
# make sure we're not running root
USER node
# make sure node is owned by non-root user, otherwise node app will exit with 1
COPY --chown=node:node . /app
# expose ports to outside world
EXPOSE 3001
CMD ["npm", "start"]
During the build I'm now getting an error that I don't know how to address:
#9 190.5 npm ERR! code 1
#9 190.5 npm ERR! path /app/node_modules/gifsicle
#9 190.5 npm ERR! command failed
#9 190.5 npm ERR! command sh -c node lib/install.js
#9 190.5 npm ERR! compiling from source
#9 190.5 npm ERR! Command failed: /app/node_modules/gifsicle/vendor/gifsicle --version
#9 190.5 npm ERR! qemu-x86_64: Could not open '/lib64/ld-linux-x86-64.so.2': No such file or directory
#9 190.5 npm ERR!
#9 190.5 npm ERR!
#9 190.5 npm ERR! gifsicle pre-build test failed
#9 190.5 npm ERR! Error: Command failed: /bin/sh -c autoreconf -ivf
#9 190.5 npm ERR! /bin/sh: autoreconf: not found
#9 190.5 npm ERR!
#9 190.5 npm ERR!
#9 190.5 npm ERR! at /app/node_modules/bin-build/node_modules/execa/index.js:231:11
#9 190.5 npm ERR! at processTicksAndRejections (node:internal/process/task_queues:96:5)
#9 190.5 npm ERR! at async Promise.all (index 0)
#9 190.7
#9 190.7 npm ERR! A complete log of this run can be found in:
#9 190.7 npm ERR! /root/.npm/_logs/2022-08-02T20_06_22_654Z-debug.log
------
failed to solve: rpc error: code = Unknown desc = executor failed running [/bin/sh -c npm ci --platform=linux --progress=false]: exit code: 1
make: *** [build] Error 17

Perhaps an issue with running native version instead of emulated x86, as mentioned on this stack overflow:
/lib64/ld-linux-x86-64.so.2: No such file or directory error
https://stackoverflow.com/a/69075554

The solution ended up being a variation of the advice given. I used a different distro flag
FROM --platform=linux/amd64 node:16.3.0

Related

Bodyparser breaking fresh installation of adonis 4.1

mygame#4.1.0 start /usr/src/app
node server.js
Error: Cannot find module '#adonisjs/bodyparser/providers/BodyParserProvider'
Require stack:
/usr/src/app/node_modules/require-stack/src/index.js
/usr/src/app/node_modules/require-stack/index.js
/usr/src/app/node_modules/#adonisjs/fold/src/Ioc/index.js
/usr/src/app/node_modules/#adonisjs/fold/index.js
/usr/src/app/server.js
1 requireStack
/usr/src/app/node_modules/require-stack/src/index.js:44
2 anonymous
/usr/src/app/node_modules/#adonisjs/fold/src/Registrar/index.js:104
3 arrayMap
/usr/src/app/node_modules/lodash/lodash.js:653
4 Function.map
/usr/src/app/node_modules/lodash/lodash.js:9622
5 interceptor
/usr/src/app/node_modules/lodash/lodash.js:17094
6 thru
/usr/src/app/node_modules/lodash/lodash.js:8859
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! mygame#4.1.0 start: node server.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the mygame#4.1.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/node/.npm/_logs/2021-03-25T00_06_01_885Z-debug.log
The problem is npm is installing the wrong version from body-parser, due to a recent push.
As a workaround:
go to package.json
you can replace the ^ with ~
"#adonisjs/bodyparser": "~2.0.9",
Since we prefixed the version with ~, NPM retrieved the latest patch version under the 2.0.9 minor version, which turned out to be 2.0.9 itself
For more info: https://github.com/adonisjs/bodyparser/issues/43

Build failing while deploying Perishable network on IBM cloud Blockchain starter plan

nvm_tree_contains_path /home/pipeline/.nvm /home/pipeline/.nvm/versions/node/v8.15.1
'[' -n 'Now using node v8.15.1 (npm v6.4.1)' ']'
nvm_echo 'Now using node v8.15.1 (npm v6.4.1)'
command printf '%s\n' 'Now using node v8.15.1 (npm v6.4.1)'
node -v
Now using node v8.15.1 (npm v6.4.1)
npm -v
v8.15.1
6.4.1
test_contracts
for CONTRACT in '${CONTRACTS}'
test_contract iot-blockchain-perishable-network
CONTRACT=iot-blockchain-perishable-network
'[' -f contracts/iot-blockchain-perishable-network/package.json ']'
test_composer_contract iot-blockchain-perishable-network
CONTRACT=iot-blockchain-perishable-network
echo testing composer contract iot-blockchain-perishable-network
pushd contracts/iot-blockchain-perishable-network
npm test
testing composer contract iot-blockchain-perishable-network
~/bc70ab6b-afeb-4ddf-a8ee-ddb7b7e23ce1/contracts/iot-blockchain-perishable-network ~/bc70ab6b-afeb-4ddf-a8ee-ddb7b7e23ce1
perishable-network#0.2.6-deploy.2 pretest /home/pipeline/bc70ab6b-afeb-4ddf-a8ee-ddb7b7e23ce1/contracts/iot-blockchain-perishable-network
npm run lint
perishable-network#0.2.6-deploy.2 lint /home/pipeline/bc70ab6b-afeb-4ddf-a8ee-ddb7b7e23ce1/contracts/iot-blockchain-perishable-network
eslint .
sh: 1: eslint: not found
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! perishable-network#0.2.6-deploy.2 lint: eslint .
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the perishable-network#0.2.6-deploy.2 lint script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! A complete log of this run can be found in:
npm ERR! /home/pipeline/.npm/_logs/2019-03-06T14_37_44_449Z-debug.log
npm ERR! Test failed. See above for more details.
Finished: FAILED
You will just need to run npm install and see if everything was successfully installed. Because the project will run inside IBM Blockchain, you dont need to run it locally.
For a more detailed information on how to achieve your gold, check this answer:
https://stackoverflow.com/a/55358606/7004017

Elastic Beanstalk EBS NPM Bower install is failing

Having an issue with my EBS deployment. Getting this output everytime it tries to deploy the build.
Application deployment failed at 2018-07-02T02:46:14Z with exit status 1 and error: command npm_install_bower in .ebextensions/bower.config failed.
npm http GET https://registry.npmjs.org/bower
npm http GET https://registry.npmjs.org/bower
npm http GET https://registry.npmjs.org/bower
npm ERR! Error: UNABLE_TO_GET_ISSUER_CERT_LOCALLY
npm ERR! at SecurePair.<anonymous> (tls.js:1430:32)
npm ERR! at SecurePair.emit (events.js:92:17)
npm ERR! at SecurePair.maybeInitFinished (tls.js:1029:10)
npm ERR! at CleartextStream.read [as _read] (tls.js:521:13)
npm ERR! at CleartextStream.Readable.read (_stream_readable.js:341:10)
npm ERR! at EncryptedStream.write [as _write] (tls.js:418:25)
npm ERR! at doWrite (_stream_writable.js:226:10)
npm ERR! at writeOrBuffer (_stream_writable.js:216:5)
npm ERR! at EncryptedStream.Writable.write (_stream_writable.js:183:11)
npm ERR! at write (_stream_readable.js:602:24)
npm ERR! If you need help, you may report this log at:
npm ERR! <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR! <npm-#googlegroups.com>
npm ERR! System Linux 4.14.47-56.37.amzn1.x86_64
npm ERR! command "node" "/usr/bin/npm" "install" "-g" "bower"
npm ERR! cwd /opt/elasticbeanstalk/eb_infra
npm ERR! node -v v0.10.48
npm ERR! npm -v 1.3.6
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /opt/elasticbeanstalk/eb_infra/npm-debug.log
npm ERR! not ok code 0.
bower.config file is:
commands:
get_sudo:
command: echo Defaults:root \!requiretty >> /etc/sudoers
npm_install:
command: sudo yum -y --enablerepo=epel install nodejs npm
npm_install_bower:
command: sudo npm install -g bower
container_commands:
01_bower_install:
command: "export PATH=$PATH; $NODE_HOME/bin/node ./node_modules/bowe/bin/bower -V install --allow-root -F > /tmp/01_bower_install.log"
Tried it without 01_bower_install part as well but same result. Fails to deploy. Was working fine until 2 days ago on the instance and now showing:
Forbidden You don't have permission to access / on this server.
..on the URL.
Help greatly appreciated!
I spent few hours today on the same issue, bower would not be installed by npm and would not run. Eventually got it work as follows:
1) remove "bower" from package.json
2) here is my ebextension file that managed to install bower and run it, by making it a global command:
container_commands:
install_bower:
command: "export PATH=$PATH:$NODE_HOME/bin; npm install bower -g; bower install --allow-root"
Cheers,
Z.

Laravel 5.5 API Authentication (Passport) - cross-env: not found error, when i run npm run dev

I have tried to implement laravel passport authentication in my project, but it's not working. Initially, i have installed laravel5.5 with other configuration and file permissions all the stuff.
To implement passport authentication I have followed laravel documentation Document Url
Following steps, I have done,
composer require laravel/passport
php artisan migrate
php artisan passport:install
I have added this line App\User
use Laravel\Passport\HasApiTokens;
use HasApiTokens, Notifiable;
Routes Added in AuthServiceProvider file inside the boot function
Passport::routes();
Inside the config/auth.php file, I have changed API driver as passport
php artisan vendor:publish --tag=passport-components
Inside this file resources/assets/js/app.js
Vue.component(
'passport-clients',
require('./components/passport/Clients.vue')
);
Vue.component(
'passport-authorized-clients',
require('./components/passport/AuthorizedClients.vue')
);
Vue.component(
'passport-personal-access-tokens',
require('./components/passport/PersonalAccessTokens.vue')
);
npm run dev
When running this command I'm getting an error
$ npm run dev
# dev /var/www/html/local/laravel5.5
npm run development
# development /var/www/html/local/laravel5.5
cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
sh: 1: cross-env: not found
npm ERR! Linux 4.4.0-98-generic
npm ERR! argv "/home/sysadmin/.nvm/versions/node/v6.11.1/bin/node" "/home/sysadmin/.nvm/versions/node/v6.11.1/bin/npm" "run" "development"
npm ERR! node v6.11.1
npm ERR! npm v3.10.10
npm ERR! file sh
npm ERR! code ELIFECYCLE
npm ERR! errno ENOENT
npm ERR! syscall spawn
npm ERR! # development: cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
npm ERR! spawn ENOENT
npm ERR!
npm ERR! Failed at the # development script 'cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! Please include the following file with any support request:
npm ERR! /var/www/html/local/laravel5.5/npm-debug.log
npm ERR! Linux 4.4.0-98-generic
npm ERR! argv "/home/sysadmin/.nvm/versions/node/v6.11.1/bin/node" "/home/sysadmin/.nvm/versions/node/v6.11.1/bin/npm" "run" "dev"
npm ERR! node v6.11.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! # dev: npm run development
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the # dev script 'npm run development'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! npm run development
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls
npm ERR! There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?
npm ERR! Please include the following file with any support request:
npm ERR! /var/www/html/local/laravel5.5/npm-debug.log
You must run in cmd/terminal, from your project folder
npm install --save
and then
npm run dev

Zurb Foundation For Emails gulp --production Fails

I've been using Zurb Foundation for Emails successfully for quite some time. Suddenly the build process is failing.
I updated to Node 7.7.2 and NPM 4.1.2, deleted the node_modules directory and ran npm install to reinstall the dependencies, but it didn't solve the issue.
$ npm run build
foundation-emails-template#1.0.0 build /Users/[REDACTED]
gulp --production
[12:46:56] Requiring external module babel-register
[12:46:57] Using gulpfile ~/[REDACTED]/gulpfile.babel.js
[12:46:57] Starting 'default'...
[12:46:57] Starting 'build'...
[12:46:57] Starting 'clean'...
[12:46:57] Finished 'clean' after 11 ms
[12:46:57] Starting 'pages'...
[12:46:59] Finished 'pages' after 1.32 s
[12:46:59] Starting 'sass'...
[12:47:05] 'sass' errored after 6.91 s
[12:47:05] Error in plugin 'gulp-uncss'
Message:
Unexpected EOF
Details:
domainEmitter: [object Object]
domain: [object Object]
domainThrown: false
[12:47:05] 'build' errored after 8.25 s
[12:47:05] 'default' errored after 8.25 s
npm ERR! Darwin 15.6.0
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "build"
npm ERR! node v7.7.2
npm ERR! npm v4.1.2
npm ERR! code ELIFECYCLE
npm ERR! foundation-emails-template#1.0.0 build: `gulp --production`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the foundation-emails-template#1.0.0 build script 'gulp --production'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the foundation-emails-template package,
npm ERR! not with npm itself.
Or if I try to run gulp --production by itself:
$ gulp --production
[12:29:38] Requiring external module babel-core/register
[12:29:39] Using gulpfile ~/[REDACTED]/gulpfile.babel.js
/usr/local/lib/node_modules/gulp/bin/gulp.js:129
gulpInst.start.apply(gulpInst, toRun);
^
TypeError: Cannot read property 'apply' of undefined
at /usr/local/lib/node_modules/gulp/bin/gulp.js:129:19
at _combinedTickCallback (internal/process/next_tick.js:73:7)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
npm start works as expected; I just can't inline the styles.
Any ideas? TIA.
It's because the node environment had changed.
Run this in your console:
npm rebuild node-sass
npm rebuild gulp-uncss
It should fix the issue.
I got the same error and was caused by a code-specific issue so make sure all your code is valid. In my case I was missing a closing " on a class.