WebStorm file watcher does not work after Mac update - sass

This is the current settings:
Arguments: $FileName$ $ProjectFileDir$/css/$FileNameWithoutExtension$.css --source-map true --output-style expanded
Output paths to refresh : $ProjectFileDir$/css/$FileNameWithoutExtension$.css:$ProjectFileDir$/css/$FileNameWithoutExtension$.css.map
It's coming out like this. Why is that?
/usr/local/lib/node_modules/node-sass/bin/node-sass aaa.scss /Users/aaa/WebstormProjects/aaa/css/aaa.css --source-map true --output-style expanded
env: node: No such file or directory
Process finished with exit code 127

I fixed it by reinstalling the MacOS.

Related

UTF-8 Encoding in console output - Jenkins

I already checked so many post related to that subject in stack overflow,
but nothing helped.
So the issue is that i would like to see some polish chars on my console output,
but instead of that chars i see question marks
echo '???'
So i have jenkins version 2.323.
I already added following params in global vars for jenkins:
JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8"
LANG=UTF-8
also added those params to all nodes as a env variables
Is anyone able to support in that case ?
EDIT:
I am executing following commands in my shell execution step:
echo "ąęĆ"
And after when i run build i see:
[sth] $ /bin/sh -xe /tmp/jenkins2984595068288236962.sh
+ echo ???
???
Finished: SUCCESS
EDIT:
I also read that maybe i should add encoding to sh, so i did like that:
+ /bin/sh encoding: UTF-8 script: echo "???"
/bin/sh: 0: Can't open encoding:
Build step 'Execute shell' marked build as failure
Finished: FAILURE
But seems like syntax is bad. Forgive me but im not so experienced in such a things.
EDIT:
When im executing locale charmap i can see
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
ANSI_X3.4-1968
seems like ansi still is used.
Thanks,
J

translate scss to css in ruby cmd for writing sass code

i have faced this problem
Errno::ENOENT: No such file or directory # rb_sysopen - D:\Tasks\Bootstrap
Use --trace for backtrace.
after i have write this command in ruby cmd:
sass D:\Tasks\Bootstrap 4\css\style.scss D:\Tasks\Bootstrap 4\compiledcss\style.css
You've got spaces in your path and the shell is breaking the arguments on spaces, so either eliminate those or quote each path:
sass "D:\Tasks\Bootstrap 4\css\style.scss" "D:\Tasks\Bootstrap 4\compiledcss\style.css"
Spaces in filenames are super annoying, so they're best avoided if you can.

Ruby gem tab completion on zsh produces "doubled rest argument definition" error?

When I hit gem push <tab>, it displays this error (regardless of whether the directory contains any .gem files):
_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"
_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"
_arguments:comparguments:325: doubled rest argument definition: *:gem:_files -g "*.gem(-.)"
I have no idea how to fix this and Google is no help. My fpath:
> echo $fpath
/Users/robenkleene/.zsh/completion
/usr/local/share/zsh/site-functions
/usr/local/Cellar/zsh/5.7/share/zsh/functions
I've tried uninstalling and re-installed Ruby via homebrew because the above "Cellar" path contains a _gem file that I believe defines this completion function, but that didn't work.
Any other ideas? Thanks!
(Also, if anyone has any suggestions of where I might file a bug report for this that would also be helpful, thanks again!)
I hacked together my own terrible solution to this but it's better than nothing.
I copied the _gem file from /usr/local/Cellar/zsh/5.7/share/zsh/functions to /Users/robenkleene/.zsh/completion and then modified the offending line (note that this only works because I have fpath=(~/.zsh/completion $fpath) in my zshrc):
- args+=( '*:gem:_files -g "*.gem(-.)"' )
+ args=( '*:gem:_files -g "*.gem(-.)"' )
So I removed the +. This seems to work, but I'd love a more elegant solution and/or any information about why (based on my Google search), I seem to be the only person experiencing this.
I'm on macOS 10.15.6 running the default zsh 5.7.1. In the default zsh gem completion I found that push is being included in a list of commands which take a remote gem name — and it shouldn't be, it only takes the path to the gem file:
$ gem push --help
Usage: gem push GEM [options]
I applied the following patch to a copy of the file higher in $fpath and it now works for me:
--- /usr/share/zsh/5.7.1/functions/_gem
+++ ~/.zsh/completion.d/_gem
## -56,7 +56,7 ##
check|cleanup|contents|dependency|list|open|pristine|rdoc|uninstall|unpack|update)
args+=( '(--all --skip)*:installed gem:->gems-local' )
;|
- fetch|install|lock|owner|push|search|yank)
+ fetch|install|lock|owner|search|yank)
args+=( '*:gem:->gems-remote' )
;|
cleanup|uninstall)
I'm not sure where to contribute this patch. 😅

shell cd command in Ruby

Im trying to execute shell commands using ruby, but i cant change directory to PATH with blank spaces.
variable = %x[cd #{ENV["HOME"]}/Virtual\\ VMs/]
This is not working.
Thank you
To be absolutely safe:
path = File.join [ENV["HOME"], 'Virtual VMs']
variable = %x[cd '#{path}']
Please note, that cd has empty output, so to make sure it works one probably wants to do smth like:
path = File.join [ENV["HOME"], 'Virtual VMs']
variable = %x[cd '#{path}' && ls -la]
#⇒ "total 32\ndrwxr-xr-x ....."
What is ist supposed to do? You try to chdir into a directory, but then don't do anything in it. Your variable will be empty in any case. Aside from the fact that it is pointless to do, you can not reliably execute a cd by itself in this way, because it is not an executable file. You can see this if you just execute %x[cd]. You will get an Errno::ENOENT exception.
Maybe you should first describe in a broader context, what you want to achieve with your code. Where would you like to change the working directory? Within the Ruby process - in which case you have to use Dir.chdir - or in the child process - in which case you have to execute some command after the cd.

How can I make Ansible show only errors in execution?

How can I make ansible show only errors inside of some playbook, or even when directly invoked?
I tried suppressing std output but that apparently didn't help, because execution errors seem to be put into standard output instead of error output on Linux.
ansible all -a 'some_command_I_want_to_know_if_it_crashes' 1> /dev/null
I see only errors from Python (exceptions etc.) but not errors from playbook (the red text).
Use the official sample callback plugin called actionable.py.
Put it in the callback_plugins directory and enable stdout-callbacks in ansible.cfg:
[defaults]
stdout_callback = actionable
Just by enabling it you will get much less information in th output, but you can further modify the plugin code to suit your needs.
For example to disable messages on successful tasks completely (regardless if status is ok or changed) change:
def v2_runner_on_ok(self, result):
if result._result.get('changed', False):
self.display_task_banner()
self.super_ref.v2_runner_on_ok(result)
to
def v2_runner_on_ok(self, result):
pass
As Konstantin Suvorov noted, the above ansible.cfg configuration method works for ansible-playbook.
For ansible output you can save the actionable.py as ./callback_plugins/minimal.py to achieve the same results.
You could run the command with actionable callback
ANSIBLE_STDOUT_CALLBACK=actionable ansible all -a 'some_command_I_want_to_know_if_it_crashes'

Resources