gpt4 book ai didi

javascript - Linux NodeJS 全局 NPM 包 ":No such file or directory"

转载 作者:IT王子 更新时间:2023-10-29 00:54:29 24 4
gpt4 key购买 nike

我正在使用 Ubuntu 14.04 并安装了 nodejsnpm:

sudo apt-get install nodejs npm

然后我创建了一个符号链接(symbolic link),使包能够使用 node 解释器(而不是 nodejs):

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

我安装了 coffee-script(用于测试目的)和我自己的包 mangarack,其中:

sudo npm -g install coffee-script mangarack

当我运行 coffee(coffee-script 的一部分)时,该包将运行良好。如果我运行 mangarack,我将得到:

: No such file or directory.

我的 package.json 中有以下内容:

"bin": {
"mangarack": "./bin/mangarack"
},

该文件包含:

#!/usr/bin/env node

require('../lib/cli/index');

我查看了 coffee-script 是如何做到的,我的 require 语句似乎是完全错误的,所以我用 console.log< 替换了它 语句来查看文件是否会在 node 中实际运行。它没有。为了使基于 Linux 的机器能够运行此程序包,我遗漏或遗漏了什么配置?

完整的源代码引用:

最佳答案

问题是文件bin/mangarack使用了回车,导致linux环境出错。看看我得到了什么:

$ mangarack --help
env: node\r: No such file or directory

$ head -n 1 `which mangarack` | hexdump
0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 6e
0000010 6f 64 65 0d 0a
0000015

注意 node 之后的字符 \r(十六进制模式下的 0d)。你应该删除它。

解决方案:使用 $ git config core.autocrlf 设置项目,然后提交更改。见https://help.github.com/articles/dealing-with-line-endings/

修复后的预期结果应该是:

$ head -n 1 `which mangarack` | hexdump
0000000 23 21 2f 75 73 72 2f 62 69 6e 2f 65 6e 76 20 6e
0000010 6f 64 65 0a
0000015

关于javascript - Linux NodeJS 全局 NPM 包 ":No such file or directory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27331758/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com