Comments (9)
Update:
It turns out it's a Homebrew issue, the folder created by brew
doesn't follow Erlang naming conventions.
See this discussion: Homebrew/discussions#2537
And the relative PR: Homebrew/homebrew-core#89963
from proper.
Having the same issue as @mezzomondo:
> brew install proper && export ERL_LIBS=/usr/local/Cellar/proper/1.4 && erl
Warning: proper 1.4 is already installed and up-to-date.
To reinstall 1.4, run:
brew reinstall proper
Erlang/OTP 24 [erts-12.1.5] [source] [64-bit] [smp:16:16] [ds:16:16:10] [async-threads:1] [jit] [dtrace]
Eshell V12.1.5 (abort with ^G)
1> c(my_sort).
my_sort.erl:3:14: can't find include lib "proper/include/proper.hrl"
% 3| -include_lib("proper/include/proper.hrl").
% | ^
README seems to be wrong.
I also use rebar3 now.
from proper.
After you have ran brew install proper
you should check where it has been installed and then do as the guide says to first add PropEr's base directory to Erlang's path, either by modifying your .bashrc
file or your .erlang
file to point to the installation path.
In the case that under no circumstances you are able to find the installation directory, you can always add PropEr as a dependency of the project you want to use it in (e.g., in your rebar.config
add {proper, "1.3.0"}
)
from proper.
Thank you, with rebar3 I'm actually able to use it, setting manually the path is still not working but now is a lower priority.
from proper.
Okay, I got a colleague who has a Mac to help me out fixing this issue. At the end of the output you get from running brew install proper
you can find where it has been installed.
So, you will find PropEr installed at /usr/local/Cellar/proper/<version>
(version is the latest release, e.g., 1.3
). If you use that path you will be able to add it to Erlang's path either with ERL_LIBS
or code:load_abs/1
. If by any chance PropEr wasn't installed there, I think you can run brew info proper
to get its installation path.
from proper.
We clearly need help here from some user who has access to a MacOS environment and knows / can check what needs to be done there.
from proper.
Happy to jump in in a call or something to sort it out.
from proper.
We need some PR to the README that describes the actions that homebrew users need to make in order to be able to use PropEr (from the Erlang shell). I have no idea about how homebrew stores packages, but surely there is some (a single?) place in the file system where PropEr's ebin
and include
dirs are stored and use them somehow.
Perhaps it's just a matter of manually adding symbolic links to ebin
and include
under /usr/local/Cellar/proper
and bypassing the 1.4
dir, with commands such as:
cd /usr/local/Cellar/proper
ln -s 1.4/ebin .
ln -s 1.4/include .
and things will magically work from then on.
If we need a call to sort out this, my skype ID is of the form: name_surname
from proper.
Since the PR was merged to Homebrew's repo, I am closing the issue.
Thanks to all and to @mezzomondo in particular for opening the issue and for his help.
from proper.
Related Issues (20)
- No Shrink in TPBT
- run_parallel_commands doesn't handle exceptions in commands the same way run_commands does HOT 6
- PropEr map() generators
- PropEr should use `printer`. HOT 2
- Target server should update process dictionary
- Add proper examples to shrinking challenge
- New version and hex package HOT 13
- Generate a binary of variable size HOT 2
- Obtaining a PropEr rebar3 HOT 1
- use previous return value as parameter of new command in new state HOT 6
- Arguments shrinking is not working in stateful models. HOT 2
- {var,2} instead of the correct variable during shrink
- `proper_transformer` has unfavorable behavior for fine-grained compile dependencies HOT 4
- Generators inside maps
- Atom generator exhausts the atom limit HOT 4
- Substitute uses of `slave` with `peer` HOT 1
- {'EXIT', {badarg, [{erlang,atom_to_list, ...}]}} in proper_gen_next.erl
- Is there a new version to release? HOT 3
- Rebar3 needs to be recompiled
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from proper.