8

I would like to install the projectile package manually since the repository is blocked by a firewall.

I have downloaded the file projectile.el from the [package homepage][1] put it together with helm-projectile and helm-projectile into the folder `~/.emacs.d/projectile/'.

(add-to-list 'load-path "~/.emacs.d/projectile")
(require 'projectile)

The first line alone works, but with the second one emacs reports an error:

Cannot open load file: no such file or directory, dash

My current host system is windows.


Edit: package-install-file works wonders :)

This is what I had to do to get projectile installed:

M-x package-install-file RET path/to/dash.el

M-x package-install-file RET path/to/projectile.el
--> pkg-info-0.4 is unavailable

M-x package-install-file RET path/to/pkg-info.el
--> pkg-epl-0.4 is unavailable

M-x package-install-file RET path/to/epl.el

M-x package-install-file RET path/to/pkg-info.el
    In pkg-info-package-version:
    pkg-info.el:222:55:Warning: `epl-find-installed-package' is an obsolete
        function (as of 0.7); use `epl-find-installed-packages' instead.

M-x package-install-file RET path/to/projectile.el

Done.

Links

https://github.com/bbatsov/projectile
https://github.com/lunaryorn/pkg-info.el
https://github.com/cask/epl
1
  • 4
    Try installing the file with M-x package-install-file instead. That will sort out the directory and load path for you, as well as telling you about missing dependencies such as dash.
    – legoscia
    Feb 18, 2015 at 14:07

1 Answer 1

9

Since you're not using a package manager, you need to also manually install each package's dependencies. The error message tells you exactly which dependency you're missing.

You can see at the top of projectile.el:

(require 'thingatpt)
(require 'dash)
(require 'grep)           ; For `rgrep'
(require 'ibuffer)
(require 'ibuf-ext)

Some are included with Emacs. Some aren't. Here's dash.el.

To see if you already have the libraries installed, you can do: M-x find-library RET dash RET

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.