当前位置: 首页 > 知识库问答 >
问题:

npm安装错误,错误:ENOENT、chmod

申屠鹏
2023-03-14

我正在尝试全局安装我刚刚发布的 npm 模块。每次我尝试从npm或文件夹安装时,我都会收到此错误。

npm ERR! Error: ENOENT, chmod '/usr/local/lib/node_modules/takeapeek/lib/cmd.js'
npm ERR! If you need help, you may report this log at:
npm ERR!     <http://github.com/isaacs/npm/issues>
npm ERR! or email it to:
npm ERR!     <npm-@googlegroups.com>

npm ERR! System Linux 3.8.0-19-generic
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "takeapeek"
npm ERR! cwd /home/giodamlio
npm ERR! node -v v0.10.6
npm ERR! npm -v 1.3.6
npm ERR! path /usr/local/lib/node_modules/takeapeek/lib/cmd.js
npm ERR! code ENOENT
npm ERR! errno 34
npm ERR! 
npm ERR! Additional logging details can be found in:
npm ERR!     /home/giodamlio/npm-debug.log
npm ERR! not ok code 0

我正在使用sudo,并且我已经三次检查了包中的所有东西,所有东西都应该正常工作。我四处搜索了一下,看到了几个类似的案例,但都没有得到解决。以下是我的尝试。

    < li >升级NPM(< code > sudo NPM install-g NPM ) < li >清除全局npm缓存(< code>sudo npm缓存清除) < li >清除用户npm缓存(< code>npm缓存清除)

我注意到该错误与我链接到路径的文件有关,特别是当npm尝试执行chmod时。这应该不是问题,我的lib / cli.js具有正常权限,并且npm在此安装期间具有超级用户权限。

在深入研究了npm文档之后,我发现了一个可以阻止npm创建bin链接的选项(< code> - no-bin-links),当我尝试用它安装时,它工作得很好。

那怎么办?这是一个奇怪的边缘问题,还没有解决方案吗?

编辑:作为参考,这里是我上传的模块

共有3个答案

康烨伟
2023-03-14

当我尝试运行npm install-g bower时,这个问题不知怎么地在Mac上出现了。这给了我很多错误,因为我找不到像优美的fs这样的东西。我不确定我最初是如何安装npm的,但看起来它可能是使用自制的node导致的。我第一次跑步

brew uninstall node

这从我的路径中删除了nodenpm。从那里我刚刚重新安装了它

brew install node

当它完成时,我的路径上有节点npm,我能够运行

rm -rf ~/.npm
npm install -g bower

然后成功安装了bower。

更新brew配方和升级安装似乎对我不起作用,我不知道为什么。删除. npm文件夹对其他人有用,我尝试过,但没有成功。这次我这样做是为了以防万一。还要注意,以下两种方法都没有解决我的问题,尽管它对其他人有用:

npm cache clean
sudo npm cache clean
卫阳曜
2023-03-14

我遇到了类似的问题,

npm cache clean

解决了。

戚建德
2023-03-14

好吧,看起来NPM正在使用您的<code>。gitignore</code>作为<code>的基础。npmignore文件,因此忽略/lib。如果您添加一个空白<code>。npmignore</code>文件到应用程序的根目录中,一切都应该正常。

更好、更明确的方法是使用允许列表而不是禁止列表,并使用package.json中的“文件”字段来指定包中的文件。

〔编辑〕-有关此行为的更多信息,请点击此处:https://docs.npmjs.com/cli/v7/using-npm/developers#keeping-包中的文件

 类似资料:
  • 问题内容: 我正在尝试全局安装刚发布的npm模块。每次尝试从npm或文件夹安装时,都会出现此错误。 我正在使用sudo,并且已对软件包中的所有内容进行了三重检查。我四处搜寻,看到了两个类似的案例,但都没有解决。这是我尝试过的。 升级npm() 清除全局npm缓存() 清除用户npm缓存() 我注意到该错误与我链接到路径的文件有关,特别是在npm尝试执行chmod时。这应该没问题,我的用户具有正常的

  • 我正在跑步: 乌班图 14.04 节点 v0.10.25 国家预防控制与预防机制 v 1.3 通过apt-get安装安装了NPM。当我尝试安装Gulp(请参阅代码片段中的命令)时,我遇到了这些失败。我已经尝试过“npm缓存清理”,添加.npmignore文件并添加包。json文件。到目前为止没有任何效果。 有什么想法吗?

  • 我正在运行npm来安装mnodesql,这是一个用于sql服务器驱动程序的npm库。我安装这个Windows Server 2012盒。 我已经安装了Visual C 2010、node gyp和Python 2.7.x.x作为依赖项,所有这些安装都是成功的。 当我运行npm install msnodesql时,我得到一个红色的大错误: (x86)\MSBuild\Microsoft.Cpp\v

  • 我有一个JS应用程序。它在linux上运行良好,但在Windows10中我遇到了一个错误。 不正确的代码是 我在github中找到了这个错误的原因,我想问题是spawn nodejs spawn Doc在windows中无法正常工作。但我不知道如何修改这段代码使其工作。有人能帮我吗?

  • 我正在尝试使用cmd中的以下命令安装Yeoman: 我得到以下信息: 安装了以下内容: Node.jsv4.4.4 npm v2.15.1,v3.9.0(我尝试了两个版本,我有完全相同的输出消息) 我的电脑在Windows7 x64上运行。 我尝试过的解决方案: > 我跑 npm缓存清除 但是没有运气。 我还尝试了以下方法: > 已删除C:\\AppData\Roaming\npm缓存文件夹 在此

  • 问题内容: 我一直在寻找解决方案已有两天,无法在Windows 8.1系统上设置Phonegap。 每当我尝试通过npm安装Phonegap时,都会收到我认为与Cordova(-lib)有关的错误。 要安装Phonegap,我必须在系统上安装Node.js(v0.10.28)。此后,我打开了Windows Powershell,并按照Phonegap网站上的指示发出了以下命令: 输出:( 这是错误