Is there a configuration file for node js - node.js

I have a problem with node and SSL. solution is using --use-openssl-ca option when running node. but I should always run my app with that option.
Is there a configuration file for node.js which I set that option in it?

Answering your question. yes you can attach configuration file for nodejs but there is no global config file.
NODE_OPTIONS='--require "./my path/file.js"'
but this will not make the command line shorter.
if you are willing to add it for one specific project.
then use package.json add a starter script there.
if you want it to be in the current bash. do this (Linux) :
export NODE_OPTIONS=--use-openssl-ca
in windows set NODE_OPTIONS=--use-openssl-ca
if you want default in every bash.
echo 'export NODE_OPTIONS=--use-openssl-ca' >> ~/.bashrc

Related

How to start a Nodejs server with options?

My computer runs Windows10 Enterprise.
I found this repo for creating a Nodejs server for tchatbot. As you can see there are options for starting the server. I tried to execute this command : node app.js DF_PROJECT_ID="agent-human-handoff-sampl-jseo" DF_SERVICE_ACCOUNT_PATH="D:\Docs\TchatBot\clé_account_service_agent_human_operator\agent-human-handoff-sampl-jseo-3349b2f01974.json"
But I got error : You need to specify a path to a service account keypair in environment variable DF_SERVICE_ACCOUNT_PATH
So what is wrong ?
It's basically same as jfriend00's solution, but I add node app.js in the end. And you just follow below sequence to run command.
set DF_SERVICE_ACCOUNT_PATH="D:\Docs\TchatBot\clé_account_service_agent_human_operator\agent-human-handoff-sampl-jseo-3349b2f01974.json"
set DF_PROJECT_ID="agent-human-handoff-sampl-jseo"
node app.js
By the way, if you use linux system or macOS, you'll use following command to start server.
(Just one line)
DF_SERVICE_ACCOUNT_PATH="D:\Docs\TchatBot\clé_account_service_agent_human_operator\agent-human-handoff-sampl-jseo-3349b2f01974.json" DF_PROJECT_ID="agent-human-handoff-sampl-jseo" node app.js
You can just set these in the environment in a command shell before running nodejs from that command shell:
set DF_SERVICE_ACCOUNT_PATH="D:\Docs\TchatBot\clé_account_service_agent_human_operator\agent-human-handoff-sampl-jseo-3349b2f01974.json"
set DF_PROJECT_ID="agent-human-handoff-sampl-jseo"
Then, you you can run your program and these variables will be in the environment that your node program inherits. If you want to automate this, you can create a small batch file that will set them and then run your program. Keep in mind that setting environment variables like this sets them on for programs run from the current command shell, not other command shells and not for programs run other ways.
After setting those, your environment is now configured and you would run your program just as always:
node app.js

EMCC not found - only works in emsdk not globally in terminal

I am a new Linux user and am looking to get the emscripten emcc command to work globally on Ubuntu.
This is my current configuration:
LLVM_ROOT = '/home/mpaccione/Projects/emsdk/upstream/bin'
BINARYEN_ROOT = '/home/mpaccione/Projects/emsdk/upstream'
EMSCRIPTEN_ROOT = '/home/mpaccione/Projects/emsdk/upstream/emscripten'
NODE_JS = '/home/mpaccione/Projects/emsdk/node/12.9.1_64bit/bin/node'
TEMP_DIR = '/tmp'
COMPILER_ENGINE = NODE_JS
JS_ENGINES = [NODE_JS]
If I am in /var/www/html/collision-detection-wasm/hello-world
... command 'emcc' not found.
I followed the install instructions but they did not work how I would expect. I need this to work globally or it's not of use.
How do I go about doing that on Ubuntu Linux?
In order to use emcc it needs to be in your $PATH.
To do this you can run source /path/to/emsdk/emsdk_env.sh in your terminal.
Or if you want to make it permanent you can add that same command to your startup scripts (e.g. $HOME/.bash_profile or $HOME/.bashrc).
This is documented at https://emscripten.org/docs/getting_started/downloads.html.
Hijacking #sbc100's answer to further clarify things to answer OP's question asked as a comment.
In order to use emcc one needs to set the PATH and other environment variables.
As it can be seen in the documentation, the command source ./emsdk_env.sh (or source /path/to/emsdk/emsdk_env.sh if you are not within the emsdk directory) does exactly that for the current terminal.
If you want this effect to be permanent, then do just as #sbc100's said. Just add it to, for example, to your bashrc file by inserting source /path/to/emsdk/emsdk_env.sh to a new line at the end. This will make the script run each time a terminal opens. This may be annoying to same as it outputs what was added to PATH and which environment variables were set.
Alternatively, one may also add the entries to the bashrc manually that the script kindly tells us about. For me, it meant inserting the following lines:
## Emscripten ########
export PATH="/home/dudly01/repos/github/emsdk:$PATH"
export PATH="/home/dudly01/repos/github/emsdk/upstream/emscripten:$PATH"
export PATH="/home/dudly01/repos/github/emsdk/node/14.18.2_64bit/bin:$PATH"
export EMSDK="/home/dudly01/repos/github/emsdk"
export EM_CONFIG="/home/dudly01/repos/github/emsdk/.emscripten"
export EMSDK_NODE="/home/dudly01/repos/github/emsdk/node/14.18.2_64bit/bin/node"
I would think, however, that these lines need to be adjusted as the project evolves.

Linux No such file or directory

I am trying to setup a JProfiler Agent on Remote AWS Linux.
I followed the steps from #### Method 2: Add agentpath to JAVA_OPTS.
But I get the following error:
The file is on drive. I can navigate to it.
What did I do?
I downloaded the JProfiler10.0.4 as targz for Linux.
Unzip the archive
Executed the command nano ~/.bashrc
I modified the content in this way.
Executed the command source ~/.bashrc
I get the error.
Do you have any idea what I am doing wrong?
Thank you
It looks like you're actually trying to set JAVA_OPTS.
Todo that you have assign it to JAVA_OPTS and then export it. In your .bashrc, replace -agentpath:"$jpPath" with this:
export JAVA_OPTS="-agentpath:$jpPath"
#crea1 is right, but I would really not use the method of modifying JAVA_OPTS. It's better to pass the -agentpath VM parameter to the VM that you are trying to profile by modifying the start script.

Sails.js - PATH variable - sails command not recognized

After I npm installed Sails.js on Windows Server 2008, "sails" command is not recognized.
Can someone give me a hint on what values to use in the PATH variable? As I understand it is Node.exe that runs the sails.js file. But if I try tunning "node sails.js" command in cmd, it recognizes it, but can't find some of the dependencies.
On my Windows 7 machine everything installed and is running like a charm.
I ended up writing a batch file and putting it into system32 folder "c:\Windows\System32\sails.bat" with this one line:
node C:\Users\XXXXXXXX\AppData\Roaming\npm\node_modules\sails\bin\sails.js
Now, sails lift works well.
Did you try using the -g (for global) option?
If I use:
npm install -g sails
On either Windows 8.1 or Server 2012R2, I find it is accessible from the path just fine.
Install sails globally
npm install -g sails
If you have right to add Environment variables (Start => Computer=> Properties=>Advance system setting => Advance(Tab)=>Environment Variable(button at the bottom) => User variable for ...(the top one) => find "PATH" => edit ) and add the location of your npm folder (C:\Users\XXXXXX\AppData\Roaming\npm) (this folder can be hidden so enable show hidden folder to locate your path)
open new cmd window and enjoy sails :)
it looks line a sails.cmd file is create in the global npm folder, so if you add this folder C:\Users\XXXXXX\AppData\Roaming\npm to your PATH sails will be a recognized command, and will accept all valid parameters (tried new and lift and both look OK).
In this way all other node packaged that are command line based should work, if they follow this convention to install on Windows (I think this is the case).
I don't have a Windows Server 2008 to test on but it seems it fails to do this process automatically, as it does on Windows 7
If you add a .bat file in system32, remember to add parameters to the bat script. Found that out after trying some of the solutions previously posted here. My example:
C:\Users\Anton\AppData\Roaming\npm\sails %1 %2
Sails is not a directory there, it's a file. Hope this helps someone.
For ubuntu 16.+
Get prefix of node
npm get prefix
look loke this : '/home/ubuntu/node'
now open bash_profile
sudo vim ~/.profile
Add this line if you already have path in this file
export PATH="$PATH:/home/ubuntu/node/bin"
if you node prefix is diff replace with your prefix
export PATH="$PATH:{ your-node-prefix }/bin"
you can add new 'node' commands like 'npm', using batch scripting.
Create a sails.cmd file in your desktop. (new text file -> rename to
'sails.cmd').
Right-click on sails.cmd and select Edit.
Copy and paste this code into your sails.cmd:
#ECHO OFF
SET arguments=%1 %2 %3 %4 %5 %6 %7 %8 %9
node %APPDATA%\npm\node_modules\sails\bin\sails.js %arguments%
Save and copy your sails.cmd into your Node.js installation
directory, for example: C:\Program Files\nodejs
And now everything with sails.js on windows are very simple. Just run this command in your terminal:
sails or sails -v or whatever you want with sails! ;)
Enjoy!
UPDATE!
At this time I highly recommend using the WizofOz solution. It is the most correct way to proceed in a node.js environment.
To help clarify for Windows 8 users. After installing sails globally if receiving errors do this:
Create a sails.txt file
Add this
node C:\Users\XXXXXXX\npm\node_modules\sails\bin\sails.js new
node C:\Users\XXXXXXX\npm\node_modules\sails\bin\sails.js lift
Now re-save it as sails.bat
Add this new file to your C:\Windows\System32
Navigate to the folder you want to hold your new sails app. Scaffold the app with the following command:
sails new
If you don't want a front-end, instead type:
sails new --no-frontend
We can also launch the app using the lift command:
sails lift
This will launch our new app on port 1337
For MAC Users, try this (run the following on your terminal)
export PATH="/Users/username/.npm-packages/bin:$PATH"

Run a node.js server from Geany

A simple question: Is it possible to configure the Geany IDE so that Node.js servers can be run directly from Geany using the "Run" button?
When inside a JS file, go to Build > Set Build Commands, there should be a section title Execute commands. To use node to execute your files, put: node "%f" in the "Execute" command textbox.
When you change this, any .js files you are editing will run node in the virtual terminal when you hit F5.
If you want to set up an entire project to run the server whenever you're working somewhere within a given directory structure, you'll have to mess with project-level configuration. (something I don't usually bother with) My solution here just gives you a quick way to execute a single JS file without using an external terminal.
UPDATE: node "%f" seems to be legacy, but nodejs "%f" works

Resources