Почему бы нам просто не использовать sed
для резервного копирования?
sed -i.bak 's#\n#\n#' <filepattern*>
Вы не упомянули, как бы вы хотели управлять версиями, я проиллюстрирую простой способ с помощью симлинков. Существуют пакеты, которые могут управлять версиями для вас, например Менеджер версий узла , если вы предпочитаете их использовать.
Начиная с каталога node
в доме моего пользователя, я заполнил его двумя версиямиnode
:
$ tree -L 3 node
node
|-- node-v12.16.1-linux-x64
| |-- CHANGELOG.md
| |-- LICENSE
| |-- README.md
| |-- bin
| | |-- node
| | |-- npm ->../lib/node_modules/npm/bin/npm-cli.js
| | `-- npx ->../lib/node_modules/npm/bin/npx-cli.js
| |-- include
| | `-- node
| |-- lib
| | `-- node_modules
| `-- share
| |-- doc
| |-- man
| `-- systemtap
`-- node-v13.10.1-linux-x64
|-- CHANGELOG.md
|-- LICENSE
|-- README.md
|-- bin
| |-- node
| |-- npm ->../lib/node_modules/npm/bin/npm-cli.js
| `-- npx ->../lib/node_modules/npm/bin/npx-cli.js
|-- include
| `-- node
|-- lib
| `-- node_modules
`-- share
|-- doc
|-- man
`-- systemtap
Затем вы можете создать символическую ссылку на версию, которую хотите использовать.:
$ ln -s node-v12.16.1-linux-x64 node/nodejs
и, наконец, нам нужно связать все это через ваш PATH:
$ export PATH=~/node/nodejs/bin:$PATH
Теперь вы сможете запускать node
команды:
$ node --version
v12.16.1
$ npm --version
6.13.4
Вы можете переключать версии, изменяя символическую ссылку:
$ unlink node/nodejs
$ ln -s node-v13.10.1-linux-x64 node/nodejs
$ node --version
v13.10.1
$ npm --version
6.13.7
К сожалению, это не работает с глобальными пакетами, так как все версии будут устанавливать/использовать глобальные пакеты из одного и того же места. Если у вас есть два пользователя, пытающихся использовать разные версии node
, наличие глобальных пакетов может привести к поломке.