How does one start programming with Clojure in Windows? - clojure

I know it is possible to use CounterClockwise inside Eclipse, but I have been trying to get Leiningen to work so that I could use ClojureScript.
I downloaded leiningen using git clone. It then says run the script. I have tried lein self-install from inside PowerShell and inside the git bash environment.
In each I get an error about failing to download leiningen (which I thought I had with the git clone? hmm). It is interesting because one reads instructions that include things that don't make sense to Windows.
For example, inside Powershell, Windows doesn't understand export HTTP_CLIENT. It was only inside the git bash that I got a message that it is possible my HTTP client's certificate store does not have the correct certificate authority.
It then suggests this command, which runs ok, export HTTP_CLIENT="curl --insecure -f -L -o"
but it doesn't fix the problem.

The most recommended method AFAIK is to download the script lein.bat and putting it on the PATH environment variable. I've tested this method on several systems (XP, Windows 7). There is no need to build leiningen from a git checkout yourself. If you have a Windows with Powershell installed lein self-install should download the core .jar file inside a directory .lein in your user directory. Else, make sure you install either wget.exe or curl.exe and put it on the PATH.

There is an installer for Leiningen on Windows. You just need to install Java SE 7 JDK and Leiningen for Windows. This page has detailed instructions with screen shots: http://leiningen-win-installer.djpowell.net/
Leiningen for Windows creates a PATH variable and Clojure REPL shortcut among other things. From the REPL you can create, build, and automate your Clojure project.

Related

Trouble installing Leiningen on Windows 7 behind firewall

I'm having trouble installing and configuring Leiningen on a Windows 7 work computer. I'm assuming that my company's firewall prevents the GitHub security certificate from authenticating.
I've tried to use the standalone jar but had trouble using it will several development tools Id like to use to work on Clojure projects.
What is the best way to get Leiningen set up given these circumstances? Is there a way to install curl or wget on Windows and call them from the batch file?
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
The error Im getting is:
Downloading Leiningen now...
'powershell' is not recognized as an internal or external command,
operable program or batch file.
Failed to download https://github.com/technomancy/leiningen/releases/download/2.
7.1/leiningen-2.7.1-standalone.zip
It is possible that the download failed due to "powershell",
"curl" or "wget"'s inability to retrieve GitHub's security certificate.
The suggestions below do not check certificates, so use this only if
you understand the security implications of not doing so.
The PowerShell failed to download the latest Leiningen version.
Try to use "curl" or "wget" to download Leiningen by setting up
the HTTP_CLIENT environment variable with one of the following
values:
a) set HTTP_CLIENT=wget --no-check-certificate -O
b) set HTTP_CLIENT=curl -f -L -k -o
NOTE: Make sure to not add double quotes when setting the value
of HTTP_CLIENT
Thanks!
I would suggest downloading and installing Git Bash (aka "Git for Windows), which includes not only Git but a nice linux-like environment (a leaner version of Cygwin). At that point you will avoid any Powershell-related problems, which your error msg seems to imply.
https://git-scm.com/download/win

Lein tasks and sudo

I'd like to get this running (https://github.com/maitria/avi), which recommends using
sudo lein install
But lein doesn't act like an ordinary command -- I get
sudo: lein: command not found.
There only seem to be three subcommands that run into permissions problems and I considered doing them manually, but they're fairly gnarly string-interpolated arguments to the C compiler and my chances of not making a mistake seem pretty small.
So leiningen is not your typical command. Its a tool built in Clojure and is used to manage clojure applications much like rake works for Ruby. These 3 steps should help you
Download the lien script from the leiningen home page and place it in a location that is part of your PATH.
2.Run lein in the command-line and it will install it dependencies, though you will need to make sure you preinstalled JDK
3.Run lein install in the location of your code

Foundation 5 SCSS installation and Prepros

I installed ruby, Git and Node.js. Then instruction says "Bash", what exactly is Bash? I am using windows and I am newbie for thoese 3 apps they listed.
Is it windows default cmd.exe? ruby.exe or git?
If I manage it to work and created foundation project folder. How to make the foundation5 work with Prepros?
Bash is a Unix Shell, which basically allows you to type commands on your computer to execute tasks.
When you install Git on Windows, you also get a version of Git Bash, which you can use for Git commands.
Your best bet is to use something like Cygwin which replicates unix functionality on a Windows machine. Once you have installed Cygwin, you may need to set up your PATH environment variable so that when you execute git or ruby commands, they know where to look.
There is some help here on setting up environment variables.

How can I install Leiningen self-install from behind a firewall?

Is there a full download I can use which downloads leiningen and all related stuff in one go? I am not able to change the proxy settings on my local network, and this is the error I get:
"DownloadFile" with "2" argument(s): "The remote server returned an error: (407) Proxy Authentication Required."
Update
You need to download the Leiningen standalone jar and then point LEIN_JAR to it:
set LEIN_JAR=full path to leiningen standalone jar
For me - setting the proxies didn't work (and downloading the jar was unsatisfactory)
I got:
the wget binary, and
the wget dependencies
and put them on my PATH - ie h:\util contains:
wget.exe
libssl32.dll
libintl3.dll
libiconv2.dll
libeay32.dll
(where H:\util was already on my path. )
and then got a new terminal cmd.exe - and then lein self-install worked.
Assumptions:
Downloading the jar was unsatisfactory because the point of lein is to be a dependency manager (like maven). You need to keep downloading stuff. If you manually download the first jar - then when you add some more jar dependencies to your project you'll have to manually download those as well. Might as well chuck out lein and go back to doing things on the Java classpath.
In my view - in a windows environment proxy settings should be automatically detected. Lein can't do this (yet) - but the wget version I downloaded could. So you solve the problem of needing to explicitly specify the proxy. (In addition - manually setting the proxy just didn't work for me)
This should help:
https://github.com/technomancy/leiningen/wiki/HTTP-Proxies
You should work on your googling skills ;)
I want to post this as a comment to #hawkeye, but I dont have enough reputation. This work for me only when I set environment variable.
set HTTP_CLIENT=wget --no-check-certificate -O

Deploying Django with virtualenv inside a distribution package?

I have to deploy a Django application onto a SuSE Linux Enterprise 11 system. Corporate rules say I need to deploy using RPMs only. While I can use ./setup.py bdist_rpm for each dependency, it's not really sane, since RPM doesn't record all of the dependencies yet. Therefore I'd have no real advantage in using RPMs and managing dependencies manually is somewhat cumbersome and I would like to avoid it.
Now I had the following idea: While building a package, I could create a virtualenv, install all my dependencies via pip there and then package it up with the rest of the code into one solid RPM.
How sensible is this approach?
I've been using this approach for about a year now and it has worked out pretty well.
One gotcha is that you'll want to check out the bang lines in any python scripts written to the virtualenv's bin directory. These will end up being full path names used in your build environment, which probably won't be the same directory where you end up installing the virtualenv. So you may need to add some sed calls in your RPM's postinstall to adjust the paths.