/usr/bin/env: ‘node\r’: No such file or directory

同步链接: https://www.shanejix.com//usr/bin/env: ‘node\r’: No such file or directory/

执行 npm scripts命令突然报错如下:

xx@ling:/usr/github_reps/block-ui# yarn run build:esm
yarn run v1.22.10
$ block-scripts build:component:esm
/usr/bin/env: ‘node\r’: No such file or directory
error Command failed with exit code 127.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

有效信息在第四行 /usr/bin/env: ‘node\r’: No such file or directory 没错~ 后面为啥多了个 \r 回想起当前项目跨平台在开发。Linux 和 Window 都在陆续 pull && push 代码,\r 字符很容易联想到 [End Of Line Sequence]

随即用 VScode 查看了下,项目文件
/usr/bin/env: ‘node\r’: No such file or directory
node_modules 下执行代码文件
/usr/bin/env: ‘node\r’: No such file or directory
在 linux 环境下统一为 LF 后 scripts 命令成功运行!

CRLF and LF

**CRLF / LF 分别是 Window 和 Unix 系统采用的 ** End Of Line(EOF) 换行符

CR = Carriage Return (\r, 0x0D in hexadecimal, 13 in decimal)

— moves the cursor to the beginning of the line without advancing to the next line.
LF = Line Feed (\n, 0x0A in hexadecimal, 10 in decimal)

— moves the cursor down to the next line without returning to the beginning of the line.

在打印机时代,使用 CR 把打印机指针移动到行首,LF 把指针往下移动一行。 Unix like 系统为了节省空间等原因里大多采用 LF(\n) 换行,而 Windows 中则延续了打字机时代使用 CRLF 换行。

references

作者:shanejix
出处:https://www.shanejix.com//usr/bin/env: ‘node\r’: No such file or directory/
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
声明:转载请注明出处!

上一篇:C语言:(*解决输出超限)入两点坐标(X1,Y1),(X2,Y2),计算并输出两点间的距离(多实例)


下一篇:解一元三次方程