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

Когда я пишу 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 временно?

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.

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

sudo apt-get install nodejs-legacy

И установить Maven с:

sudo apt-get install maven
Другие вопросы по тегам