Додавання нового виконуваного файлу до змінної середовища PATH?


16

Я намагаюся встановити цю бібліотеку під назвою phantomjs.

Вказівки включають цей рядок:

http://code.google.com/p/phantomjs/wiki/BuildInstructions

Для зручності скопіюйте виконуваний файл bin / phantomjs.app / Contents / MacOS / phantomjs в якийсь каталог вашого PATH.

Як це зробити?


Я не думаю, що вам потрібно буде турбуватися про те, щоб поставити це на свій шлях, оскільки у ньому вже є сміттєвий контейнер. Але якщо ви хочете, ви можете знайти , як домогтися того, що тут: troubleshooters.com/linux/prepostpath.htm

@cksum, але це відносний шлях; ми не знаємо, що стається перед «бункером».
bneely

@bneely Так, але немає ~ / bin. Єдині локації / bin, / usr / bin та / usr / local / bin. Все це вже на вашому шляху. Якщо ви запустите, pathви побачите наступне за замовчуванням: PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/binя не переглянув сценарій встановлення відповідної програми, але навряд чи було б десь встановити його власну папку "bin". І ви не можете додати відносні шляхи AFAIK. Я схильний думати лише про друкарську помилку від неохайного путівника.

Я знаю, що відносні шляхи не можна додати; Я констатую, що шлях у питанні є відносним шляхом, оскільки він не починається з / або ~.
bneely

Відповіді:


10

Для того, щоб з'ясувати , що знаходиться у вашому PATH, відкрийте вікно терміналу і виконайте наступну команду: echo $PATH. Вихід - це розділений двокрапкою список каталогів, вміст яких можна запускати, не вказуючи повний шлях.

Оскільки / usr / bin на моєму шляху, я можу запустити wкоманду просто, набравши wзамість повної /usr/bin/w.

Крім того, вам не доведеться переміщувати виконуваний файл в один із перелічених каталогів PATH. Інші варіанти включають

  • Залиште виконуваний файл там, де він є, і позначте його з одним із каталогів PATH
  • Додайте каталог у свій PATH, чітко встановивши його у скрипті входу для вашої оболонки

Будь ласка, дотримуйтесь порад @ Геррі в іншій відповіді та позначте її. Це найчистіший спосіб!
Крегокс

Якщо з якоїсь -то шанс, вам потрібен повний каталог в PATH, оскільки є багато виконуваних файлів в ньому вам потрібен доступ до, не існує якоїсь - або інший варіант , і що це те , що PATHдля. В даний час ми використовуємо ~ / .bash_profile для додавання до шляху .
Крего

20

Найчистішим способом досягти цього було б позначення бінарного файлу в каталозі / usr / local / bin (який за замовчуванням включений у PATH). Вам може знадобитися створити цей каталог, якщо він ще не існує. Ви можете перевірити, чи є ці каталоги вже у вашому PATH, відкривши Terminal.app і ввівши:

echo $PATH

Це створить перелік з двокрапкою з усіма каталогами у вашій PATH.

Якщо каталоги / usr / local або / usr / local / bin ще не існують, виконайте наступне:

sudo mkdir -p /usr/local/bin

Симлінк двійкового файлу, замініть (/ програми) на шлях до phantomjs.app, якщо він відрізняється:

sudo ln -s /Applications/phantomjs.app/Contents/MacOS/phantomjs /usr/local/bin

Тепер у вас не повинно виникнути проблем із виконанням phantomjs з командного рядка.


+1,ls /usr/local/bin/ || sudo mkdir /usr/local/bin/ ; sudo ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
Хосе Карлос Рамос Carmenates

3

Повертаючись до кореня проблеми, якщо ви встановлюєте phantomjs, ви можете використовувати npm, щоб зробити це простіше.

Якщо це зробити, ви можете просто запустити:

npm install -g phantomjs-prebuilt

який встановить двійковий файл у відповідному каталозі бін. (прапор -g вказує на npm, що пакет повинен встановлюватися глобально)


0

Хоча посилання на файл з іншої дирекції працює, я вважаю за краще фактично копіювати / переміщувати файл usr/local/bin, щоб не мати його "двічі".

cp bin/phantomjs.app/Contents/MacOS/phantomjs /usr/local/bin
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.