npm在每次安装/卸载/ ls时抛出ENOENT警告

时间:2015-08-11 22:02:43

标签: node.js npm

我正在尝试在Windows 7 shell上为某些js测试开发包直接在我本地克隆的源代码存储库中执行npm install,在本例中为karma,chai和mocha .. 尝试安装,卸载其他软件包时,我始终遇到以下错误。

npm WARN ENOENT ENOENT, open '..SourceDirectory\package.json'
npm WARN EPACKAGEJSON ..SourceDirectory\ No description
npm WARN EPACKAGEJSON ..SourceDirectory\ No repository field.
npm WARN EPACKAGEJSON ..SourceDirectory\ No README data
npm WARN EPACKAGEJSON ..SourceDirectory\ No license field.

npm ls也会产生

npm ERR! error in ..SourceDirectory\: ENOENT, open '..SourceDirectory\package
.json'

我确实从

中提取了Windows npm升级的测试版

Windows Upgrade

因为我遇到了文件系统路径长度错误。我没有位于警告中的package.json依赖列表'路径。我错过了配置步骤吗?

9 个答案:

答案 0 :(得分:42)

错误消息可能是由于缺少package.json文件引起的。将目录更改为项目的本地目录,作为示例(而不是使用项目的当前工作目录):

cd /var/www/nodeBot

以下字符串将写入package.json

npm init

回答菜单驱动的问题或使用--yes来解决问题。然后在最后按Enter键写出文件。你可能会看到类似的东西:

Wrote to /usr/local/bin/package.json:

{
  "name": "bin",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "dependencies": {
    "twit": "^2.1.1"
},
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

npmnode.js的包管理员。 package.json成为npm的配置或设置文件。 twit依赖项是安装到我的项目目录中的程序。 npm install twit

如果项目目录中存在package.json文件,则可以使用文本编辑器填写可能导致错误消息的空数据字段。

description文件中找到package.json字段并手动添加说明:

"description": "This is my latest disruptive technology app.",

license字段中,您可以添加ISC,这基本上意味着开源项目

"license": "ISC"

答案 1 :(得分:8)

我遇到了同样的问题,所以我尝试了这个命令。它对我有用

npm install npm @ latest -g

希望它也适合你

答案 2 :(得分:3)

我运行了以下命令,这对我有用!!!

npm cache clean

答案 3 :(得分:1)

您的"引擎可能存在问题"父package.json文件中的值。

例如,我有

"engines" : {
    "node": ">=6.10.0",
    "npm": ">=4.3.0"
}

我删除了" npm"钥匙,它只是工作(抓我的头....)

答案 4 :(得分:1)

是的!我在安装React JS和Node JS时遇到了同样的问题。一条指令告诉我删除json文件和其他文件但不删除文件夹。我这样做了,然后我的命令就不能正常运行了,而且我一直都遇到同样的错误。

解决方案:我转到垃圾箱并放回文件,再次运行命令,并且装好了。我不知道这对你有用,但值得一试! :)

答案 5 :(得分:0)

我也面临同样的问题,但我犯了一个愚蠢的错误

如果您的npm安装正确,那么开发人员之间的问题可能会混淆,以选择当前目录来安装.js包。 实际上使用npm安装任何东西都需要在你想要安装包的目录中使用Package.json文件

例如:npm install abcd

现在如果你想通过npm安装abcd包,请确保你使用终端

在正确的目录中

例如:我的mac上的npm目录是

/Users/myMac/node_modules/assert-plus/package.json

所以如果确保你在目录

/用户/ myMac / node_modules /断言加

通过终端选择此目录,然后编写npm install abcd

答案 6 :(得分:0)

通过

解决同样的问题

cd [项目文件夹]

npm cache clean --force

npm install -d

sudo npm update

答案 7 :(得分:0)

我自己遇到了这个问题,我所做的就是删除package.json锁定文件,现在它可以工作了。希望这对某人有帮助。

答案 8 :(得分:0)

您需要切换到您正在使用的目录。

然后运行npm -init

运行该命令后,继续按Enter,直到到达t的结尾

相关问题