Программа может быть найдена в следующих пакетах

Когда я пишу команду mvn в Терминале, я получаю это сообщение:

The program 'mvn' can be found in the following packages:
 * maven
 * maven2
Try: sudo apt-get install <selected package>

Я также получаю то же сообщение для команды node:

The program 'node' can be found in the following packages:
 * node
 * nodejs-legacy
Try: sudo apt-get install <selected package>

Что я думаю означает, что у меня установлено две версии maven и для node у меня есть другая программа, кроме nodejs, с которой также связана команда node.

Поэтому он хочет, чтобы я использовал:

sudo apt-get install maven 

или

sudo apt-get install maven2 

Чтобы навсегда связать команду mvn с одной из программ (версии maven ) maven или maven2.

Есть ли способ временно использовать mvn для maven или для maven2? Я имею в виду способ, которым я могу временно выбрать один из maven или maven2?

0
задан 19 July 2015 в 19:47

2 ответа

Команда mvn

В случае mvn, можно установить maven (v3, не v1) и maven2 (v2) бок о бок с:

sudo apt-get install maven maven2

и у Вас будет два двоичных файла.

/usr/share/maven/bin/mvn
/usr/share/maven2/bin/mvn

Для переключения между этими двумя двоичными файлами используйте:

sudo update-alternatives --config mvn

Пример

% mvn -version 
Apache Maven 2.2.1 (rdebian-17)
Java version: 1.8.0_45
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux" version: "3.19.0-22-generic" arch: "amd64" Family: "unix"

% sudo update-alternatives --config mvn
There are 2 choices for the alternative mvn (providing /usr/bin/mvn).

  Selection    Path                       Priority   Status
------------------------------------------------------------
* 0            /usr/share/maven2/bin/mvn   200       auto mode
  1            /usr/share/maven/bin/mvn    150       manual mode
  2            /usr/share/maven2/bin/mvn   200       manual mode

Press enter to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/share/maven/bin/mvn to provide /usr/bin/mvn (mvn) in manual mode


% mvn -version                         
Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.8.0_45, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.19.0-22-generic", arch: "amd64", family: "unix"

Команда node

В случае node, это не возможно или только с большим усилием:

% sudo apt-get install node nodejs-legacy
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 node : Conflicts: nodejs-legacy but 0.10.25~dfsg2-2ubuntu1 is to be installed
 nodejs-legacy : Conflicts: node but 0.3.2-7.4 is to be installed
E: Unable to correct problems, you have held broken packages.
1
ответ дан 19 July 2015 в 19:47

Там написано, что вы не установили эти программы. Таким образом, вы можете установить nodejs с помощью:

sudo apt-get install nodejs-legacy

и установить maven с помощью:

sudo apt-get install maven
0
ответ дан 19 July 2015 в 19:47

Другие вопросы по тегам:

Похожие вопросы: