Deploying a sails.js app via puppet fails on npm install - npm

I'm deploying a sails.js app via puppet & here is my manifest:
class sails {
include apt
class { 'nodejs':
manage_repo => true,
}
vcsrepo { '/var/www':
ensure => latest,
provider => git,
source => 'https://www.gitrepo.com',
revision => 'master',
require => Class['nodejs'],
}
exec { 'npm install':
path => '/usr/bin/',
cwd => '/var/www/',
require => [Vcsrepo['/var/www'],Class['nodejs']],
}
}
All goes well until the npm install, it gets through most dependencies, but then this happens:
Notice: /Stage[main]/sails/Exec[npm install]/returns: npm http 200 https://registry.npmjs.org/ws/-/ws-0.4.31.tgz
Notice: /Stage[main]/sails/Exec[npm install]/returns:
Notice: /Stage[main]/sails/Exec[npm install]/returns: > bson#0.1.8 install /var/www/node_modules/sails/node_modules/connect-mongo/node_modules/mongodb/node_modules/bson
Notice: /Stage[main]/sails/Exec[npm install]/returns: > (node-gyp rebuild 2> builderror.log) || (exit 0)
Notice: /Stage[main]/sails/Exec[npm install]/returns:
Notice: /Stage[main]/sails/Exec[npm install]/returns: execvp(): No such file or directory
Any ideas on why this is? If I run npm install manually in /var/www it works fine.

I had a similar problem because I hadn't installed git.

I had the same problem. In the end I was able to fix it with:
sudo -i sh -c "cd ${app_directory}; npm install"
As per the discussion here:
https://github.com/TooTallNate/node-gyp/issues/115#issuecomment-7386287

Related

React-native-windows installation

I tried to install react-native-windows. I have some troubleshoot with the command:
npx react-native-windows-init --overwrite
NoLatestReactNativeWindows: Error: No version of react-native-windows#latest found
at getLatestRNWVersion (C:\Users\XXXX\AppData
Local\npm-cache_npx\966c6a96be6f5a32\node_modules\react-native-windows-init\src\Cli.ts:249:11)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at Object.reactNativeWindowsInit (C:\Users\XXXX\AppData\Local\npm-cache_npx\966c6a96be6f5a32\node_modules\react-native-windows-init\src\Cli.ts:533:36) {
type: 'NoLatestReactNativeWindows',
data: undefined
}
Command failed. Re-run the command with --verbose for more information.

Import a NPM module with a Nuxt Application in it

I would like to develop an NPM module that the user can import in his project.
The module contain a full administration panel created with Nuxt.
I don't want the user know anything about Nuxt, he just need to run a command like:
myppcommand start
and the application starts a server that is running the administration panel.
So my idea is to develop the NPM module with Nuxt. Generate all the static file inside ./dist folder and then myappcommand start will serve the app from node_modules.
// NPM Package myapp
// nuxt.config.js
export default {
components: [
{
path: '~/components/',
extensions: ['vue']
}
],
buildDir: './.nuxt',
srcDir: './src/',
target: 'static',
ssr: false,
generate: {
dir: './dist/'
}
};
// NPM Package myapp
npx nuxt generate
The command will generate all files in ./dist folder.
// User repo
npm install myapp
This will install myapp inside ./node_modules.
// User repo
cd node_modules/myapp/ && npx nuxt start -c nuxt.config.js
This will start the server and serve the app.
But is this the best way possible? It seems a bit hacky to me, to go inside node_modules, does somebody know a better way?
You could achieve this by declaring that your package has an executable file which starts Nuxt, in the bin property of package.json.
Firstly, create an executable script to start the app:
bin/start.js
#!/usr/bin/env node
// Based on node_modules/.bin/nuxt
global.__NUXT_PATHS__ = (global.__NUXT_PATHS__ || []).concat(__dirname)
require('#nuxt/cli').run(['start'])
.catch((error) => {
require('consola').fatal(error)
process.exit(2)
})
You can verify that this starts the app by running ./bin/start.js (provided you have made the file executable), or node ./bin/start.js.
Then, declare that your package should install this as a script when installed as a dependency:
package.json
{
"bin": {
"myapp": "bin/start.js"
}
}
When your package has been installed with npm install myapp, then node_modules/.bin/myapp will link to node_modules/myapp/bin/start.js and the user will be able to run it with npx myapp.

ERROR #98123 WEBPACK: Generating development JavaScript bundle failed - unexpected token

I have cloned my repository an then install all packages via npm. When i try to start mu program with gatsby develop i get this error in all files in templates directory.
I've already cleared chache, deleted node_modules and public folders, re-install packages and so on, but nothing worked.
This is is info, which I get from gatsby info:
System:
OS: macOS 11.1
CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU # 2.30GHz
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 14.0.0 - ~/.nvm/versions/node/v14.0.0/bin/node
Yarn: 1.13.0 - ~/.npm-global/bin/yarn
npm: 6.14.4 - ~/.nvm/versions/node/v14.0.0/bin/npm
Languages:
Python: 2.7.16 - /usr/bin/python
Browsers:
Chrome: 87.0.4280.141
Firefox: 78.0.2
Safari: 14.0.2
npmPackages:
gatsby: ^2.30.1 => 2.31.1
gatsby-awesome-pagination: ^0.3.6 => 0.3.6
gatsby-image: ^2.5.0 => 2.10.0
gatsby-plugin-eslint: ^2.0.8 => 2.0.8
gatsby-plugin-fontawesome-css: ^1.0.0 => 1.0.0
gatsby-plugin-manifest: ^2.6.1 => 2.11.0
gatsby-plugin-netlify-cms: ^4.5.0 => 4.9.0
gatsby-plugin-offline: ^3.4.0 => 3.9.0
gatsby-plugin-react-helmet: ^3.4.0 => 3.9.0
gatsby-plugin-sharp: ^2.8.0 => 2.13.1
gatsby-plugin-styled-components: ^3.5.0 => 3.9.0
gatsby-plugin-typography: ^2.10.0 => 2.11.0
gatsby-source-filesystem: ^2.5.0 => 2.10.0
gatsby-transformer-remark: ^2.12.0 => 2.15.0
gatsby-transformer-sharp: ^2.6.0 => 2.11.0
Does anyone have similar problem, or know how to solve it?
It's not a matter of dependencies or configuration, you have a typo in your project. It seems that somewhere in your JavaScript files (maybe in the templates folder) you have a . (dot) that is breaking your code.
To enable optional chaining in any JavaScript project, since it's not a standard feature, you need to:
Install the dependency (#babel/plugin-proposal-optional-chaining):
npm install --save-dev #babel/plugin-proposal-optional-chaining
Or:
yarn add #babel/plugin-proposal-optional-chaining --dev
Enable it in your Babel configuration. In Gatsby, you can create a babel.config.js (or .babelrc) in the root of your project to customize Babel's configuration:
{
"plugins": [
["#babel/plugin-proposal-optional-chaining"]
],
"presets": [
[
"babel-preset-gatsby",
{
"targets": {
"browsers": [">0.25%", "not dead"]
}
}
]
]
}
Fixed by:
problem was my package-lock.json. After we fixed it, everything works
properly :) nevermind

how do I echo a message to the terminal at the end of npm install?

I've created a repo I want to be cloned
after cloning, you run npm install
How do I echo a log message to the terminal that will show up at the end of the installation?
In your case, you can add a post-install script, that outputs, for example, a string to the console if you mark a version as alpha.
package.json
{
"version": "1.2.3-alpha.2",
"scripts": {
"postinstall": "node postinstall.js"
}
}
postinstall.js
const package = require('./package.json')
console.log('End of installation');
//Example using properties from package.json
if (package.version.includes('alpha')) {
console.log('Warning: Alpha version!')
}
BONUS
Append this to the command --loglevel verbose and all logs will be saved to npm-debug.log in current working directory.
It will show the logs in realtime + saves the log to directory its running.
You can just edit npm config npm config edit and add loglevel=verbose

Cannot start a new React Native CLI project in WebStorm

The react-native-cli is generating the project fine when I use this command in terminal:
react-native init myapp
But for some reason WebStorm cannot create new React Native project. When I try I get this error:
/home/sagar/.nvm/versions/node/v8.9.1/bin/node
/home/sagar/.nvm/versions/node/v8.9.1/lib/node_modules/react-native-cli/index.js init bookip
/bin/sh: 1: npm: not found
This will walk you through creating a new React Native project in /tmp/1512313270685-0/bookip
Installing react-native...
Consider installing yarn to make this faster: https://yarnpkg.com
{ Error: Command failed: npm install --save --save-exact react-native
at checkExecSyncError (child_process.js:601:13)
at execSync (child_process.js:641:13)
at run (/home/sagar/.nvm/versions/node/v8.9.1/lib/node_modules/react-native-cli/index.js:294:5)
at createProject (/home/sagar/.nvm/versions/node/v8.9.1/lib/node_modules/react-native-cli/index.js:249:3)
at init (/home/sagar/.nvm/versions/node/v8.9.1/lib/node_modules/react-native-cli/index.js:200:5)
at Object.<anonymous> (/home/sagar/.nvm/versions/node/v8.9.1/lib/node_modules/react-native-cli/index.js:153:7)
at Module._compile (module.js:635:30)
at Object.Module._extensions..js (module.js:646:10)
at Module.load (module.js:554:32)
at tryModuleLoad (module.js:497:12)
error: null,
cmd: 'npm install --save --save-exact react-native',
file: '/bin/sh',
args:
[ '/bin/sh',
'-c',
'npm install --save --save-exact react-native' ],
options:
{ stdio: [ [Object], [Object], [Object] ],
shell: true,
file: '/bin/sh',
args:
[ '/bin/sh',
'-c',
'npm install --save --save-exact react-native' ],
envPairs:
[ 'PATH=/home/sagar/bin:/home/sagar/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin',
'LC_MEASUREMENT=ne_NP',
'XAUTHORITY=/home/sagar/.Xauthority',
'XMODIFIERS=#im=ibus',
'LC_TELEPHONE=ne_NP',
'XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop',
'GDMSESSION=ubuntu',
'MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path',
'LC_TIME=ne_NP',
'GTK_IM_MODULE=ibus',
'DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Sq2eReOVZr',
'DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path',
'XDG_CURRENT_DESKTOP=Unity',
'LD_LIBRARY_PATH=/home/sagar/apps/WebStorm-172.3757.55/bin:',
'UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1240',
'QT4_IM_MODULE=xim',
'LC_PAPER=ne_NP',
'QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1',
'LOGNAME=sagar',
'JOB=unity-settings-daemon',
'PWD=/tmp/1512313270685-0',
'IM_CONFIG_PHASE=1',
'LANGUAGE=en_US',
'SHELL=/bin/bash',
'LC_ADDRESS=ne_NP',
'GIO_LAUNCHED_DESKTOP_FILE=/home/sagar/.local/share/applications/jetbrains-webstorm.desktop',
'GTK2_MODULES=overlay-scrollbar',
'INSTANCE=',
'OLDPWD=/home/sagar/apps/WebStorm-172.3757.55/bin',
'GNOME_DESKTOP_SESSION_ID=this-is-deprecated',
'UPSTART_INSTANCE=',
'GTK_MODULES=gail:atk-bridge:unity-gtk-module',
'CLUTTER_IM_MODULE=xim',
'XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0',
'COMPIZ_BIN_PATH=/usr/bin/',
'SESSIONTYPE=gnome-session',
'XDG_SESSION_DESKTOP=ubuntu',
'SHLVL=0',
'LC_IDENTIFICATION=ne_NP',
'LC_MONETARY=ne_NP',
'COMPIZ_CONFIG_PROFILE=ubuntu',
'QT_IM_MODULE=ibus',
'UPSTART_JOB=unity7',
'JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64',
'XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg',
'LANG=en_US.UTF-8',
'GNOME_KEYRING_CONTROL=',
'XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0',
'XDG_SESSION_ID=c2',
'XDG_SESSION_TYPE=x11',
'DISPLAY=:0',
'LC_NAME=ne_NP',
'GDM_LANG=en_US',
'XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/sagar',
'UPSTART_EVENTS=xsession started',
'GPG_AGENT_INFO=/home/sagar/.gnupg/S.gpg-agent:0:1',
'DESKTOP_SESSION=ubuntu',
'SESSION=ubuntu',
'USER=sagar',
'XDG_MENU_PREFIX=gnome-',
'GIO_LAUNCHED_DESKTOP_FILE_PID=20103',
'QT_ACCESSIBILITY=1',
'LC_NUMERIC=ne_NP',
'SSH_AUTH_SOCK=/run/user/1000/keyring/ssh',
'XDG_SEAT=seat0',
'QT_QPA_PLATFORMTHEME=appmenu-qt5',
'XDG_VTNR=7',
'XDG_RUNTIME_DIR=/run/user/1000',
'HOME=/home/sagar',
'GNOME_KEYRING_PID=' ],
killSignal: undefined },
envPairs:
[ 'PATH=/home/sagar/bin:/home/sagar/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin',
'LC_MEASUREMENT=ne_NP',
'XAUTHORITY=/home/sagar/.Xauthority',
'XMODIFIERS=#im=ibus',
'LC_TELEPHONE=ne_NP',
'XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop',
'GDMSESSION=ubuntu',
'MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path',
'LC_TIME=ne_NP',
'GTK_IM_MODULE=ibus',
'DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Sq2eReOVZr',
'DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path',
'XDG_CURRENT_DESKTOP=Unity',
'LD_LIBRARY_PATH=/home/sagar/apps/WebStorm-172.3757.55/bin:',
'UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1240',
'QT4_IM_MODULE=xim',
'LC_PAPER=ne_NP',
'QT_LINUX_ACCESSIBILITY_ALWAYS_ON=1',
'LOGNAME=sagar',
'JOB=unity-settings-daemon',
'PWD=/tmp/1512313270685-0',
'IM_CONFIG_PHASE=1',
'LANGUAGE=en_US',
'SHELL=/bin/bash',
'LC_ADDRESS=ne_NP',
'GIO_LAUNCHED_DESKTOP_FILE=/home/sagar/.local/share/applications/jetbrains-webstorm.desktop',
'GTK2_MODULES=overlay-scrollbar',
'INSTANCE=',
'OLDPWD=/home/sagar/apps/WebStorm-172.3757.55/bin',
'GNOME_DESKTOP_SESSION_ID=this-is-deprecated',
'UPSTART_INSTANCE=',
'GTK_MODULES=gail:atk-bridge:unity-gtk-module',
'CLUTTER_IM_MODULE=xim',
'XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0',
'COMPIZ_BIN_PATH=/usr/bin/',
'SESSIONTYPE=gnome-session',
'XDG_SESSION_DESKTOP=ubuntu',
'SHLVL=0',
'LC_IDENTIFICATION=ne_NP',
'LC_MONETARY=ne_NP',
'COMPIZ_CONFIG_PROFILE=ubuntu',
'QT_IM_MODULE=ibus',
'UPSTART_JOB=unity7',
'JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64',
'XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg',
'LANG=en_US.UTF-8',
'GNOME_KEYRING_CONTROL=',
'XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0',
'XDG_SESSION_ID=c2',
'XDG_SESSION_TYPE=x11',
'DISPLAY=:0',
'LC_NAME=ne_NP',
'GDM_LANG=en_US',
'XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/sagar',
'UPSTART_EVENTS=xsession started',
'GPG_AGENT_INFO=/home/sagar/.gnupg/S.gpg-agent:0:1',
'DESKTOP_SESSION=ubuntu',
'SESSION=ubuntu',
'USER=sagar',
'XDG_MENU_PREFIX=gnome-',
'GIO_LAUNCHED_DESKTOP_FILE_PID=20103',
'QT_ACCESSIBILITY=1',
'LC_NUMERIC=ne_NP',
'SSH_AUTH_SOCK=/run/user/1000/keyring/ssh',
'XDG_SEAT=seat0',
'QT_QPA_PLATFORMTHEME=appmenu-qt5',
'XDG_VTNR=7',
'XDG_RUNTIME_DIR=/run/user/1000',
'HOME=/home/sagar',
'GNOME_KEYRING_PID=' ],
stderr: null,
stdout: null,
pid: 20527,
output: [ null, null, null ],
signal: null,
status: 127 }
Command `npm install --save --save-exact react-native` failed.
Done
It says npm not found when I know it is there.
I have Node 8.9.1 & npm 5.5.1
Looks like npm is not on your $PATH. Do you launch WebStorm from terminal, or from desktop/System menu? In the latter case, WebStorm only sees environment variables configured in .profile (login shell), but not in interactive shell configuration files (like ~/.bashrc). Plus, NVM alters interactive shell configuration files only during installation phase (https://github.com/creationix/nvm/blob/v0.28.0/install.sh#L126)
Possible workarounds:
Workaround 1: make required variables available in a login shell (i.e. for Bash, move them from .bashrc to .bash_profile or .profile).
Workaround 2: run IDE from a terminal
Workaround 3: edit WebStorm desktop launcher and set command to /bin/bash -l -i -c "/path/to/webstorm.sh" (for bash)
Try pointing to your usr/local/bin/node folder. These are my settings with WebStorm 2017.3 and it worked for me.
Consider installing yarn to make this faster: https://yarnpkg.com
After yarn was installed error is gone.