Ошибки установки при попытке собрать атом из исходного кода, Linux Mint 17

Зависит от того, насколько точно вам нужно форматирование - обычно достаточно разделения табуляцией - но я бы сделал так:

#!/usr/bin/env perl
use strict;
use warnings;

#set record separator to double line feed.     
local $/ = "\n\n";

#print header row
print join "\t", "VM", "Virtual_Disk", "size", "Physical Disks", "\n";

#iterate stdin or files specified on command line
while ( <> ) { 
   #capture data from this 'chunk':
   my ( $vm ) = /Virtual Machine\s+(\w+)/;   
   my ( $status ) = /status\s*(\w+)/; 
   my @physical_disks = m/Physical Disk\s+(.*)/g; 
   my %virtual_disks = m/Virtual Disk\s+(\w+).*size\s+(\w+)/g;

   #output tab separated
   print join ("\t", $vm, $_, $virtual_disks{$_}, "-" ), "\n" for keys %virtual_disks;
   print join ("\t", $vm, "-", "-", $_ ), "\n" for @physical_disks;   
}

Это выравнивание по табуляторам, а не фиксированная ширина как таковая. Это может быть более подходящим, в зависимости от вашего случая использования. В противном случае вы можете использовать format, как описано выше, или sprintf для фиксации ширины поля:

#!/usr/bin/env perl
use strict;
use warnings;

local $/ = "\n\n";
my $field_format = "%8s";  #string, 8 chars wide

print join "\t", map { sprintf $field_format, $_ } "VM", "Virtual_Disk", "size", "Physical Disks", "\n";

while ( <> ) { 
   my ( $vm ) = /Virtual Machine\s+(\w+)/;   
   my ( $status ) = /status\s*(\w+)/; 
   my @physical_disks = m/Physical Disk\s+(.*)/g; 
   my %virtual_disks = m/Virtual Disk\s+(\w+).*size\s+(\w+)/g;
   print join "\t", map { sprintf $field_format, $_} ( $vm, $_, $virtual_disks{$_}, "-" ), "\n" for keys %virtual_disks;
   print join "\t", map { sprintf $field_format, $_} ( $vm, "-", "-", $_ ), "\n" for @physical_disks;   
}
-1
29.03.2019, 17:55
1 ответ

Кажется, я нашел решение этой проблемы. Перепробовав множество различных исправлений, и ни одно из них не сработало, я запустил sudo chown -R akaash:akaash ~/Git/atom, затем script/build --create-debian-package --compress-artifacts --install --unsafe-perm=true --allow-root --global leveldown.

Я считаю, что команда chownизбавила от необходимости использовать sudo.

Где-то по пути я нашел этот сайт:

https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally

, что привело меня к:

https://github.com/creationix/nvm

, в котором объяснялось, как обновить npm с помощью менеджера версий узла, а не установщика узла.

Это могло помочь, а могло и не помочь, хотя я знаю, что это действительно обновило npm. Но каким-то образом комбинация всего, что я пробовал, в конце концов избавила от ошибки.

0
28.01.2020, 05:12

Теги

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